From: Junio C Hamano Date: Wed, 18 May 2011 15:41:02 GMT Subject: Re: [PATCH 1/2] config: define and document exit codes Message-ID: <7vfwocc8z5.fsf@alter.siamese.dyndns.org> In-Reply-To: <6301052eb455e9088e50f78760e6ca1b9499564a.1305646709.git.git@drmicha.warpmail.net> Michael J Gruber writes: > +This command will fail (with exit code ret) if: > + > +. The config file is invalid (ret=3), > +. can not write to the config file (ret=4), > +. no section or name was provided (ret=2), > +. the section or key is invalid (ret=1), > +. you try to unset an option which does not exist (ret=5), > +. you try to unset/set an option for which multiple lines match (ret=5), > +. you try to use an invalid regexp (ret=6), or > +. you use '--global' option without $HOME being properly set (ret=128). I wonder if you want to sort this in the order of return codes. > +/* git_config_parse_key() returns these negated: */ > +#define CONFIG_INVALID_KEY 1 > +#define CONFIG_NO_SECTION_OR_NAME 2 > +/* git_config_set(), git_config_set_multivar() return the above or these: */ > +#define CONFIG_NO_LOCK -1 > +#define CONFIG_INVALID_FILE 3 > +#define CONFIG_NO_WRITE 4 > +#define CONFIG_NOTHING_SET 5 > +#define CONFIG_INVALID_PATTERN 6 Symbols "CONFIG_FOO" looks too much like they are about the feature set chosen when compiling git, at least to me. But I do not think of a better naming scheme ("CONFIG_ERR_FOO" may be a slight improvement but not good enough improvement for the price we pay by having such long symbol names). By the way, Are you still interested in "diff --stat-count" topic, or have you abandoned it?