test-reach: test reduce_heads
[gitweb.git] / merge.c
diff --git a/merge.c b/merge.c
index f123658e582fc1f142b25bb8c71b5dcbe84fe3aa..0783858739f84028df6eef85d3673c944fabb912 100644 (file)
--- a/merge.c
+++ b/merge.c
 
 static const char *merge_argument(struct commit *commit)
 {
-       if (commit)
-               return oid_to_hex(&commit->object.oid);
-       else
-               return EMPTY_TREE_SHA1_HEX;
+       return oid_to_hex(commit ? &commit->object.oid : the_hash_algo->empty_tree);
 }
 
 int index_has_changes(struct strbuf *sb)
@@ -130,8 +127,11 @@ int checkout_fast_forward(const struct object_id *head,
 
        if (unpack_trees(nr_trees, t, &opts)) {
                rollback_lock_file(&lock_file);
+               clear_unpack_trees_porcelain(&opts);
                return -1;
        }
+       clear_unpack_trees_porcelain(&opts);
+
        if (write_locked_index(&the_index, &lock_file, COMMIT_LOCK))
                return error(_("unable to write new index file"));
        return 0;