The "[add] ignore-errors" tweakable introduced by v1.5.6-rc0~30^2 (Add a config option to ignore errors for git-add, 2008-05-12) does not follow the usual convention for naming values in the git configuration file. What convention? Glad you asked. The section name indicates the affected subsystem. The subsection name, if any, indicates which of an unbound set of things to set the value for. The variable name describes the effect of tweaking this knob. The section and variable names can be broken into words using bumpyCaps in documentation as a hint to the reader. These word breaks are not significant at the level of code, since the section and variable names are not case sensitive. The name "add.ignore-errors" includes a dash, meaning a naive configuration file like [add] ignoreerrors does not have any effect. Avoid such confusion by renaming to the more consistent add.ignoreErrors, but keep the old version for backwards compatibility. Suggested-by: Jeff King <peff@xxxxxxxx> Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- Jeff King wrote: > On Wed, Dec 01, 2010 at 10:34:06AM -0600, Jonathan Nieder wrote: >> (+cc: Jeff, config parsing wizard) > > Ugh, that is not a title that I aspire to. :) Yes, one day the code will be clean enough that wizardry is not needed. :) [...] > But if you require --strip-dashes, then you get potentially differing > behavior for the same set of options (i.e., one tool may accept "foobar" > but the other requires "foo-bar", because the latter has not been > updated to --strip-dashes). It was a bad idea, so let's do the simple thing. Like this? Documentation/config.txt | 1 + builtin/add.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 6a6c0b5..c609de4 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -553,6 +553,7 @@ core.sparseCheckout:: Enable "sparse checkout" feature. See section "Sparse checkout" in linkgit:git-read-tree[1] for more information. +add.ignoreErrors:: add.ignore-errors:: Tells 'git add' to continue adding files when some files cannot be added due to indexing errors. Equivalent to the '--ignore-errors' diff --git a/builtin/add.c b/builtin/add.c index 71f9b04..21dc1f7 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -331,7 +331,8 @@ static struct option builtin_add_options[] = { static int add_config(const char *var, const char *value, void *cb) { - if (!strcasecmp(var, "add.ignore-errors")) { + if (!strcasecmp(var, "add.ignoreerrors") || + !strcasecmp(var, "add.ignore-errors")) { ignore_add_errors = git_config_bool(var, value); return 0; } -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html