summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/add.c8
-rw-r--r--builtin/checkout.c7
-rw-r--r--pathspec.c4
-rw-r--r--pathspec.h2
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() */