X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=branch.c;h=9971820a184d9713126c3c9f763dd8f6ec1b1a50;hb=339aff0846ccf21905d047c20e3c7d077d6f300b;hp=d91a099fdd22b9131a1d2ddaf3778b645c53eca0;hpb=eb8aa3d2c2849cb3a44396b89054339df38e2bfa;p=git.git diff --git a/branch.c b/branch.c index d91a099fd..9971820a1 100644 --- a/branch.c +++ b/branch.c @@ -3,7 +3,6 @@ #include "refs.h" #include "remote.h" #include "commit.h" -#include "sequencer.h" struct tracking { struct refspec spec; @@ -182,7 +181,7 @@ int validate_new_branchname(const char *name, struct strbuf *ref, const char *head; unsigned char sha1[20]; - head = resolve_ref("HEAD", sha1, 0, NULL); + head = resolve_ref_unsafe("HEAD", sha1, 0, NULL); if (!is_bare_repository() && head && !strcmp(head, ref->buf)) die("Cannot force update the current branch."); } @@ -191,7 +190,8 @@ int validate_new_branchname(const char *name, struct strbuf *ref, void create_branch(const char *head, const char *name, const char *start_name, - int force, int reflog, enum branch_track track) + int force, int reflog, int clobber_head, + enum branch_track track) { struct ref_lock *lock = NULL; struct commit *commit; @@ -206,7 +206,8 @@ void create_branch(const char *head, explicit_tracking = 1; if (validate_new_branchname(name, &ref, force, - track == BRANCH_TRACK_OVERRIDE)) { + track == BRANCH_TRACK_OVERRIDE || + clobber_head)) { if (!force) dont_change_ref = 1; else @@ -278,5 +279,4 @@ void remove_branch_state(void) unlink(git_path("MERGE_MSG")); unlink(git_path("MERGE_MODE")); unlink(git_path("SQUASH_MSG")); - remove_sequencer_state(0); }