[PATCH 2/3] add: lift the pathspec magic restriction on "add -p"
From: Nguyễn Thái Ngọc Duy <hidden>
Date: 2016-06-15 22:58:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
Since 480ca64 (convert run_add_interactive to use struct pathspec - 2013-07-14), we have unconditionally passed :(prefix)xxx to add-interactive.perl. It implies that all commands add-interactive.perl calls must be aware of pathspec magic, or :(prefix) is barfed. The restriction to :/ only becomes unnecessary. Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> --- builtin/add.c | 8 +------- builtin/checkout.c | 7 ------- 2 files changed, 1 insertion(+), 14 deletions(-)
diff --git a/builtin/add.c b/builtin/add.c
index 9d52fc7..b4035f6 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 7ea1100..b235e04 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c@@ -1149,13 +1149,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);
--
1.8.2.83.gc99314b