mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-20 22:08:41 +00:00
Be more careful about the path with diffs
This makes diff more careful about picking the canonical path when generating a delta so that it won't accidentally pick up a case-mismatched path on a case-insensitive file system. This should make sure we use the "most accurate" case correct version of the path (i.e. from the tree if possible, or the index if need be).
This commit is contained in:
parent
3a68d7f002
commit
a3e8dbb40b
@ -134,6 +134,7 @@ static int diff_delta__from_two(
|
||||
{
|
||||
git_diff_delta *delta;
|
||||
int notify_res;
|
||||
const char *canonical_path = old_entry->path;
|
||||
|
||||
if (status == GIT_DELTA_UNMODIFIED &&
|
||||
DIFF_FLAG_ISNT_SET(diff, GIT_DIFF_INCLUDE_UNMODIFIED))
|
||||
@ -153,7 +154,7 @@ static int diff_delta__from_two(
|
||||
new_mode = temp_mode;
|
||||
}
|
||||
|
||||
delta = diff_delta__alloc(diff, status, old_entry->path);
|
||||
delta = diff_delta__alloc(diff, status, canonical_path);
|
||||
GITERR_CHECK_ALLOC(delta);
|
||||
|
||||
git_oid_cpy(&delta->old_file.oid, &old_entry->oid);
|
||||
|
Loading…
Reference in New Issue
Block a user