]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/merge.c
Merge branch 'ew/hashmap'
[thirdparty/git.git] / builtin / merge.c
index c9746e37b86fa15963ae862ad1aaea5ece92562b..062e9114412504b86f36f8bf6601b77de88ada09 100644 (file)
@@ -688,16 +688,13 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
                              struct commit_list *remoteheads,
                              struct commit *head)
 {
-       struct lock_file lock = LOCK_INIT;
        const char *head_arg = "HEAD";
 
-       hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
-       refresh_cache(REFRESH_QUIET);
-       if (write_locked_index(&the_index, &lock,
-                              COMMIT_LOCK | SKIP_IF_UNCHANGED))
+       if (refresh_and_write_cache(REFRESH_QUIET, SKIP_IF_UNCHANGED, 0) < 0)
                return error(_("Unable to write index."));
 
        if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) {
+               struct lock_file lock = LOCK_INIT;
                int clean, x;
                struct commit *result;
                struct commit_list *reversed = NULL;
@@ -872,12 +869,8 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads)
 {
        struct object_id result_tree, result_commit;
        struct commit_list *parents, **pptr = &parents;
-       struct lock_file lock = LOCK_INIT;
 
-       hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
-       refresh_cache(REFRESH_QUIET);
-       if (write_locked_index(&the_index, &lock,
-                              COMMIT_LOCK | SKIP_IF_UNCHANGED))
+       if (refresh_and_write_cache(REFRESH_QUIET, SKIP_IF_UNCHANGED, 0) < 0)
                return error(_("Unable to write index."));
 
        write_tree_trivial(&result_tree);