threads / discuss / 641

[RFH] Janitor projects around core GIT

Subject: [RFH] Janitor projects around core GIT

## tl;dr

4 messages between May 17, 2005 and May 17, 2005.

replies: 3people: 4as markdown or json

Junio C Hamano· May 17, 2005, 04:48 UTC · lore

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.
Jeff Garzik· May 17, 2005, 04:56 UTC · re: Junio C Hamano · lore

Re: [RFH] Janitor projects around core GIT

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
Ed L Cashin· May 17, 2005, 15:49 UTC · re: Jeff Garzik · lore

Re: [RFH] Janitor projects around core GIT

Jeff Garzik <jgarzik@pobox.com> writes:
Show 7 quoted lines
> 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.
Or "info libc argp" (on my debian sarge system).
-- 
  Ed L Cashin <ecashin@coraid.com>
Kevin Smith· May 17, 2005, 12:30 UTC · re: Junio C Hamano · lore

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

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

← back to recent threads