summaryrefslogtreecommitdiff
path: root/builtin/merge.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-10-07 02:32:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-07 02:32:53 (GMT)
commitba2d45112224a0bd5ba0f10ba180c88d148cec36 (patch)
treec4824e0fa57f40c49904807f9913aa4c2160b6bb /builtin/merge.c
parentc90b652afd68364640009a52fa6bf6f5fd245186 (diff)
parent34933d0eff5d4c91fae6ad6f71a6e6a69a496ced (diff)
downloadgit-ba2d45112224a0bd5ba0f10ba180c88d148cec36.zip
git-ba2d45112224a0bd5ba0f10ba180c88d148cec36.tar.gz
git-ba2d45112224a0bd5ba0f10ba180c88d148cec36.tar.bz2
Merge branch 'tg/stash-refresh-index'
"git stash" learned to write refreshed index back to disk. * tg/stash-refresh-index: stash: make sure to write refreshed cache merge: use refresh_and_write_cache factor out refresh_and_write_cache function
Diffstat (limited to 'builtin/merge.c')
-rw-r--r--builtin/merge.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/builtin/merge.c b/builtin/merge.c
index c9746e3..062e911 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -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);