packaging: Add contrib installation
[platform/upstream/git.git] / branch.c
index 28b81a7..9c9dae1 100644 (file)
--- a/branch.c
+++ b/branch.c
@@ -5,6 +5,7 @@
 #include "refs.h"
 #include "refspec.h"
 #include "remote.h"
+#include "sequencer.h"
 #include "commit.h"
 #include "worktree.h"
 
@@ -268,7 +269,7 @@ void create_branch(struct repository *r,
        }
 
        real_ref = NULL;
-       if (get_oid(start_name, &oid)) {
+       if (get_oid_mb(start_name, &oid)) {
                if (explicit_tracking) {
                        if (advice_set_upstream_failure) {
                                error(_(upstream_missing), start_name);
@@ -280,7 +281,7 @@ void create_branch(struct repository *r,
                die(_("Not a valid object name: '%s'."), start_name);
        }
 
-       switch (dwim_ref(start_name, strlen(start_name), &oid, &real_ref)) {
+       switch (dwim_ref(start_name, strlen(start_name), &oid, &real_ref, 0)) {
        case 0:
                /* Not branching from any existing branch */
                if (explicit_tracking)
@@ -337,15 +338,20 @@ void create_branch(struct repository *r,
        free(real_ref);
 }
 
-void remove_branch_state(struct repository *r)
+void remove_merge_branch_state(struct repository *r)
 {
-       unlink(git_path_cherry_pick_head(r));
-       unlink(git_path_revert_head(r));
        unlink(git_path_merge_head(r));
        unlink(git_path_merge_rr(r));
        unlink(git_path_merge_msg(r));
        unlink(git_path_merge_mode(r));
+       save_autostash(git_path_merge_autostash(r));
+}
+
+void remove_branch_state(struct repository *r, int verbose)
+{
+       sequencer_post_commit_cleanup(r, verbose);
        unlink(git_path_squash_msg(r));
+       remove_merge_branch_state(r);
 }
 
 void die_if_checked_out(const char *branch, int ignore_current_worktree)
@@ -364,7 +370,7 @@ int replace_each_worktree_head_symref(const char *oldref, const char *newref,
                                      const char *logmsg)
 {
        int ret = 0;
-       struct worktree **worktrees = get_worktrees(0);
+       struct worktree **worktrees = get_worktrees();
        int i;
 
        for (i = 0; worktrees[i]; i++) {