diff options
author | Brandon Williams <bmwill@google.com> | 2017-05-09 12:17:59 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-05-10 14:47:39 +0900 |
commit | bdab972153a73815e04e9699406433e409ed28ab (patch) | |
tree | 0f6210c3fbab3473680f3459cf69d498e0ea6319 /builtin | |
parent | pathspec: provide a more descriptive die message (diff) | |
download | tgif-bdab972153a73815e04e9699406433e409ed28ab.tar.xz |
submodule: add die_in_unpopulated_submodule function
Currently 'git add' is the only command which dies when launched from an
unpopulated submodule (the place-holder directory for a submodule which
hasn't been checked out). This is triggered implicitly by passing the
PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag to 'parse_pathspec()'.
Instead make this desire more explicit by creating a function
'die_in_unpopulated_submodule()' which dies if the provided 'prefix' has
a leading path component which matches a submodule in the the index.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/add.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/add.c b/builtin/add.c index 9f53f020d0..ec58e36796 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -17,6 +17,7 @@ #include "revision.h" #include "bulk-checkin.h" #include "argv-array.h" +#include "submodule.h" static const char * const builtin_add_usage[] = { N_("git add [<options>] [--] <pathspec>..."), @@ -379,6 +380,8 @@ int cmd_add(int argc, const char **argv, const char *prefix) if (read_cache() < 0) die(_("index file corrupt")); + die_in_unpopulated_submodule(&the_index, prefix); + /* * Check the "pathspec '%s' did not match any files" block * below before enabling new magic. |