OSDN Git Service

add: lift the pathspec magic restriction on "add -p"
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Thu, 5 Sep 2013 03:40:39 +0000 (10:40 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Sep 2013 19:25:22 +0000 (12:25 -0700)
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 <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/add.c
builtin/checkout.c

index 9d52fc7..b4035f6 100644 (file)
@@ -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,
index 7ea1100..b235e04 100644 (file)
@@ -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);