diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2019-04-25 16:45:54 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-07 13:04:47 +0900 |
commit | 2f0896ec3ad4731d970d22f61daf62046bc766a9 (patch) | |
tree | adea2c00ca3ed4a2704b97bbac131f7a22641636 /builtin | |
parent | restore: replace --force with --ignore-unmerged (diff) | |
download | tgif-2f0896ec3ad4731d970d22f61daf62046bc766a9.tar.xz |
restore: support --patch
git-restore is different from git-checkout that it only restores the
worktree by default, not both worktree and index. add--interactive
needs some update to support this mode.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/checkout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index 824ab65886..bed79ae595 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -454,9 +454,11 @@ static int checkout_paths(const struct checkout_opts *opts, patch_mode = "--patch=checkout"; else if (opts->checkout_index && !opts->checkout_worktree) patch_mode = "--patch=reset"; + else if (!opts->checkout_index && opts->checkout_worktree) + patch_mode = "--patch=worktree"; else - die(_("'%s' with only '%s' is not currently supported"), - "--patch", "--worktree"); + BUG("either flag must have been set, worktree=%d, index=%d", + opts->checkout_worktree, opts->checkout_index); return run_add_interactive(revision, patch_mode, &opts->pathspec); } |