Stefan Beller wrote: > On Thu, Feb 4, 2016 at 4:59 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: >> Stefan Beller wrote: >>> +++ b/submodule-config.h >>> @@ -14,6 +14,7 @@ struct submodule { >>> + const char *update; >> >> gitmodules(5) tells me the only allowed values are checkout, rebase, >> merge, and none. I wouldn't know at a glance how to match against >> those in calling code. Can this be an enum? > > "Note that the !command form is intentionally ignored here for > security reasons." > > However you can overwrite the update field in .git/config to be "! [foo]", > which we also need to support, so let's keep it a string for now? I had forgotten about "!command". I think making it a string makes the field hard to use: how do I determine whether it was checkout, rebase, merge, custom, or none? Are they case-sensitive? Am I supposed to strip whitespace? One possibility would be to have an enum and a string: enum submodule_update_type update; const char *update_command; Thanks, Jonathan -- 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