[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.