summaryrefslogtreecommitdiff
path: root/merge.c
diff options
context:
space:
mode:
Diffstat (limited to 'merge.c')
-rw-r--r--merge.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/merge.c b/merge.c
index fcff632bd6..04ee5fc911 100644
--- a/merge.c
+++ b/merge.c
@@ -10,7 +10,7 @@
static const char *merge_argument(struct commit *commit)
{
if (commit)
- return sha1_to_hex(commit->object.sha1);
+ return oid_to_hex(&commit->object.oid);
else
return EMPTY_TREE_SHA1_HEX;
}
@@ -57,7 +57,8 @@ int checkout_fast_forward(const unsigned char *head,
refresh_cache(REFRESH_QUIET);
- hold_locked_index(lock_file, 1);
+ if (hold_locked_index(lock_file, LOCK_REPORT_ON_ERROR) < 0)
+ return -1;
memset(&trees, 0, sizeof(trees));
memset(&opts, 0, sizeof(opts));
@@ -90,7 +91,9 @@ int checkout_fast_forward(const unsigned char *head,
}
if (unpack_trees(nr_trees, t, &opts))
return -1;
- if (write_locked_index(&the_index, lock_file, COMMIT_LOCK))
- die(_("unable to write new index file"));
+ if (write_locked_index(&the_index, lock_file, COMMIT_LOCK)) {
+ rollback_lock_file(lock_file);
+ return error(_("unable to write new index file"));
+ }
return 0;
}