Edward Thomson <ethomson@xxxxxxxxxxxxxxxxx> writes: > +static char *chmod_arg = NULL; > + I'll drop " = NULL", as it is our convention to let BSS take care of the zero initialization for global variables as much as possible. Other than that, I did not see anything objectionable in this round, but I did notice that you kept the "this takes two bits out of 32" Dscho mentioned--I do not have a strong preference either way, so I'll queue it (at least tentatively) on 'pu'. > @@ -346,7 +354,9 @@ int cmd_add(int argc, const char **argv, const char *prefix) > (intent_to_add ? ADD_CACHE_INTENT : 0) | > (ignore_add_errors ? ADD_CACHE_IGNORE_ERRORS : 0) | > (!(addremove || take_worktree_changes) > - ? ADD_CACHE_IGNORE_REMOVAL : 0)); > + ? ADD_CACHE_IGNORE_REMOVAL : 0)) | > + (chmod_arg && *chmod_arg == '+' ? ADD_CACHE_FORCE_EXECUTABLE : 0) | > + (chmod_arg && *chmod_arg == '-' ? ADD_CACHE_FORCE_NOTEXECUTABLE : 0); > > if (require_pathspec && argc == 0) { > fprintf(stderr, _("Nothing specified, nothing added.\n")); > diff --git a/cache.h b/cache.h > index 6049f86..da03cd9 100644 > --- a/cache.h > +++ b/cache.h > @@ -581,6 +581,8 @@ extern int remove_file_from_index(struct index_state *, const char *path); > #define ADD_CACHE_IGNORE_ERRORS 4 > #define ADD_CACHE_IGNORE_REMOVAL 8 > #define ADD_CACHE_INTENT 16 > +#define ADD_CACHE_FORCE_EXECUTABLE 32 > +#define ADD_CACHE_FORCE_NOTEXECUTABLE 64 -- 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