summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-11-12 11:54:06 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2015-11-12 12:11:45 +0100
commitad8509ef9faeb1db0693eeb1af98aa1fdad0b874 (patch)
tree9cc7b4bd58356e4f072314ed7f4a26b722766340
parent16604d74697cff526b0fc1cd2b03bedd56641059 (diff)
downloadlibgit2-ntk/case_index_conflicts.tar.gz
index: overwrite the path when inserting conflictsntk/case_index_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.
-rw-r--r--CHANGELOG.md9
-rw-r--r--src/index.c2
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 */