From ad8509ef9faeb1db0693eeb1af98aa1fdad0b874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Thu, 12 Nov 2015 11:54:06 +0100 Subject: [PATCH] index: overwrite the path when inserting conflicts When we insert a conflict in a case-insensitive index, accept the new entry's path as the correct case instead of leaving the path we already had. This puts `git_index_conflict_add()` on the same level as `git_index_add()` in this respect. --- CHANGELOG.md | 9 +++++---- src/index.c | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dec40e49e..359e78dbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,10 +41,11 @@ v0.23 + 1 with which to implement the transactional/atomic semantics for the configuration backend. -* `git_index_add` will now use the case as provided by the caller on - case insensitive systems. Previous versions would keep the case as - it existed in the index. This does not affect the higher-level - `git_index_add_bypath` or `git_index_add_frombuffer` functions. +* `git_index_add` and `git_index_conflict_add()` will now use the case + as provided by the caller on case insensitive systems. Previous + versions would keep the case as it existed in the index. This does + not affect the higher-level `git_index_add_bypath` or + `git_index_add_frombuffer` functions. * The `notify_payload` field of `git_diff_options` was renamed to `payload` to reflect that it's also the payload for the new progress callback. diff --git a/src/index.c b/src/index.c index f9fff27ba..d3b8afd39 100644 --- a/src/index.c +++ b/src/index.c @@ -1718,7 +1718,7 @@ int git_index_conflict_add(git_index *index, /* Make sure stage is correct */ GIT_IDXENTRY_STAGE_SET(entries[i], i + 1); - if ((ret = index_insert(index, &entries[i], 0, true, true)) < 0) + if ((ret = index_insert(index, &entries[i], 1, true, true)) < 0) goto on_error; entries[i] = NULL; /* don't free if later entry fails */