Merge branch 'mv/merge-refresh'

* mv/merge-refresh:
  builtin-merge: refresh the index before calling a strategy
This commit is contained in:
Shawn O. Pearce
2008-10-09 10:19:23 -07:00
2 changed files with 19 additions and 0 deletions

View File

@@ -546,6 +546,16 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
int i = 0, ret;
struct commit_list *j;
struct strbuf buf;
int index_fd;
struct lock_file *lock = xcalloc(1, sizeof(struct lock_file));
index_fd = hold_locked_index(lock, 1);
refresh_cache(REFRESH_QUIET);
if (active_cache_changed &&
(write_cache(index_fd, active_cache, active_nr) ||
commit_locked_index(lock)))
return error("Unable to write index.");
rollback_lock_file(lock);
if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) {
int clean;

View File

@@ -511,4 +511,13 @@ test_expect_success 'in-index merge' '
test_debug 'gitk --all'
test_expect_success 'refresh the index before merging' '
git reset --hard c1 &&
sleep 1 &&
touch file &&
git merge c3
'
test_debug 'gitk --all'
test_done