diff options
Diffstat (limited to 'builtin/checkout.c')
-rw-r--r-- | builtin/checkout.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index 71e2589340..09a03f1ff8 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1524,6 +1524,12 @@ static int checkout_main(int argc, const char **argv, const char *prefix, } if (opts->checkout_index < 0 || opts->checkout_worktree < 0) BUG("these flags should be non-negative by now"); + /* + * convenient shortcut: "git restore --staged" equals + * "git restore --staged --source HEAD" + */ + if (!opts->from_treeish && opts->checkout_index && !opts->checkout_worktree) + opts->from_treeish = "HEAD"; /* * From here on, new_branch will contain the branch to be checked out, |