diff options
-rw-r--r-- | builtin/add.c | 8 | ||||
-rw-r--r-- | builtin/checkout.c | 7 | ||||
-rw-r--r-- | pathspec.c | 4 | ||||
-rw-r--r-- | pathspec.h | 2 |
4 files changed, 5 insertions, 16 deletions
diff --git a/builtin/add.c b/builtin/add.c index ae0bdc78bb..31ddabd994 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -270,13 +270,7 @@ int interactive_add(int argc, const char **argv, const char *prefix, int patch) { struct pathspec pathspec; - /* - * git-add--interactive itself does not parse pathspec. It - * simply passes the pathspec to other builtin commands. Let's - * hope all of them support all magic, or we'll need to limit - * the magic here. - */ - parse_pathspec(&pathspec, PATHSPEC_ALL_MAGIC & ~PATHSPEC_FROMTOP, + parse_pathspec(&pathspec, 0, PATHSPEC_PREFER_FULL | PATHSPEC_SYMLINK_LEADING_PATH | PATHSPEC_PREFIX_ORIGIN, diff --git a/builtin/checkout.c b/builtin/checkout.c index 62a96a7e2f..0f57397037 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1146,13 +1146,6 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) } if (argc) { - /* - * In patch mode (opts.patch_mode != 0), we pass the - * pathspec to an external program, git-add--interactive. - * Do not accept any kind of magic that that program - * cannot handle. Magic mask is pretty safe to be - * lifted for new magic when opts.patch_mode == 0. - */ parse_pathspec(&opts.pathspec, 0, opts.patch_mode ? PATHSPEC_PREFIX_ORIGIN : 0, prefix, argv); diff --git a/pathspec.c b/pathspec.c index 4b32cc32cb..ad1a9f5b28 100644 --- a/pathspec.c +++ b/pathspec.c @@ -231,7 +231,9 @@ static unsigned prefix_pathspec(struct pathspec_item *item, const char *start = elt; if (prefixlen && !literal_global) { /* Preserve the actual prefix length of each pattern */ - if (long_magic_end) { + if (short_magic) + die("BUG: prefixing on short magic is not supported"); + else if (long_magic_end) { strbuf_add(&sb, start, long_magic_end - start); strbuf_addf(&sb, ",prefix:%d", prefixlen); start = long_magic_end; diff --git a/pathspec.h b/pathspec.h index 04b632fa33..944baeb622 100644 --- a/pathspec.h +++ b/pathspec.h @@ -14,7 +14,7 @@ PATHSPEC_GLOB | \ PATHSPEC_ICASE) -#define PATHSPEC_ONESTAR 1 /* the pathspec pattern sastisfies GFNM_ONESTAR */ +#define PATHSPEC_ONESTAR 1 /* the pathspec pattern satisfies GFNM_ONESTAR */ struct pathspec { const char **_raw; /* get_pathspec() result, not freed by free_pathspec() */ |