Commit 6ea999bb by Russell Belfer

Make index_insert keep existing case

In a case insensitive index, if you attempt to add a file from
disk with a different case pattern, the old case pattern in the
index should be preserved.

This fixes that (and a couple of minor warnings).
parent 1540b199
......@@ -734,8 +734,9 @@ static int index_insert(git_index *index, git_index_entry *entry, int replace)
if (!replace || !existing)
return git_vector_insert(&index->entries, entry);
/* exists, replace it */
git__free((*existing)->path);
/* exists, replace it (preserving name from existing entry) */
git__free(entry->path);
entry->path = (*existing)->path;
git__free(*existing);
*existing = entry;
......
......@@ -911,7 +911,6 @@ void test_diff_rename__case_changes_are_split(void)
{
git_index *index;
git_tree *tree;
git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
git_diff_list *diff = NULL;
diff_expects exp;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment