diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2015-01-03 16:41:26 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-01-07 10:23:08 -0800 |
commit | 1d0fa898eaa879d2fa4785164c3261dd40fe5f89 (patch) | |
tree | 9ca36b9782124675bd472dc32f93cc4765092263 /builtin/checkout.c | |
parent | 10f102be211cf1ba61c983fb463665147052daa9 (diff) | |
download | git-1d0fa898eaa879d2fa4785164c3261dd40fe5f89.tar.gz |
checkout: add --ignore-other-wortrees
Noticed-by: Mark Levedahl <mlevedahl@gmail.com>
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/checkout.c')
-rw-r--r-- | builtin/checkout.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index d8717efb07..8b2bf2093b 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -37,6 +37,7 @@ struct checkout_opts { int writeout_stage; int overwrite_ignore; int ignore_skipworktree; + int ignore_other_worktrees; const char *new_branch; const char *new_branch_force; @@ -1210,7 +1211,8 @@ static int parse_branchname_arg(int argc, const char **argv, int flag; char *head_ref = resolve_refdup("HEAD", 0, sha1, &flag); if (head_ref && - (!(flag & REF_ISSYMREF) || strcmp(head_ref, new->path))) + (!(flag & REF_ISSYMREF) || strcmp(head_ref, new->path)) && + !opts->ignore_other_worktrees) check_linked_checkouts(new); free(head_ref); } @@ -1341,6 +1343,8 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) N_("second guess 'git checkout no-such-branch'")), OPT_FILENAME(0, "to", &opts.new_worktree, N_("check a branch out in a separate working directory")), + OPT_BOOL(0, "ignore-other-worktrees", &opts.ignore_other_worktrees, + N_("do not check if another worktree is holding the given ref")), OPT_END(), }; |