[RFH] Janitor projects around core GIT

4 messages, 4 authors, 2016-06-15 · open the first message on its own page

[RFH] Janitor projects around core GIT

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:41:57

Here is a list of things I would like to see done by people who
want to get their hands dirty ;-).

 * Rewrite command line parsing code, probably using GNU getopt.
   I have three gripes about option parsing in the current code:

   - Some pretend to take long options, but allow only --long
     without allowing --lon or --lo.  Some say "--flag=argument"
     while others say "--flag argument", which is inconsistent
     and confusing.

   - For some commands the order of options matter for no
     apparently good reason.  The most prominent example is
     "checkout-cache -a -f" vs "checkout-cache -f -a"; yes I
     know about the comment Linus wrote, but it is more a
     warning for people not to get confused by this behaviour;
     not a justification for that confusing behaviour.

   - Related to the second point, many commands perform actions
     as they go parsing and processing the options.  It would be
     cleaner and easier to add new options later if the option
     processing loop is reorganized so that optionss are done
     first and after all options are collected, real processing
     begins.  The current way lets you make "update-cache foo
     --add bar" to refuse to add foo but to allow adding bar,
     but I do not think being able to do that kind of thing is
     buying us much.

 * Extend coverage of tests to more commands in the t/ directory.

 * const-ness cleanups.

 * Use correct types for sizes of things, as HPA suggested the
   other day.

 * It would be nice if somebody who is handy with checker/sparse
   type tools to run them on core GIT part and/or run core GIT
   part under purify.

Re: [RFH] Janitor projects around core GIT

From: Jeff Garzik <hidden>
Date: 2016-06-15 22:41:57

Junio C Hamano wrote:
 * Rewrite command line parsing code, probably using GNU getopt.
   I have three gripes about option parsing in the current code:

Use argp.  It supports short and long options, and is highly flexible. 
"info argp" should work on most Linux boxes.

It's in glibc, and if people care about porting git to Solaris/whatever, 
there is a GPL'd version already out there.

	Jeff

Name of test directory (was: [RFH] Janitor projects around core GIT)

From: Kevin Smith <hidden>
Date: 2016-06-15 22:41:57

Junio C Hamano wrote:
 * Extend coverage of tests to more commands in the t/ directory.
Thanks for adding unit tests to the project! I may have missed it, but 
why is the directory named t/ instead of tests/ ?

Kevin

Re: [RFH] Janitor projects around core GIT

From: Ed L Cashin <hidden>
Date: 2016-06-15 22:41:57

Jeff Garzik [off-list ref] writes:
Junio C Hamano wrote:
quoted
 * Rewrite command line parsing code, probably using GNU getopt.
   I have three gripes about option parsing in the current code:

Use argp.  It supports short and long options, and is highly
flexible. "info argp" should work on most Linux boxes.
Or "info libc argp" (on my debian sarge system).

-- 
  Ed L Cashin [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help