mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 14:39:10 +00:00
Only check for workdir conflicts if the index has merged files
Passing 0 as the length of the paths to check to git_diff_index_to_workdir results in all files being treated as conflicting, that is, all untracked or modified files in the worktree is reported as conflicting
This commit is contained in:
parent
493c340cef
commit
a565f364ab
10
src/merge.c
10
src/merge.c
@ -2347,6 +2347,16 @@ static int merge_check_workdir(size_t *conflicts, git_repository *repo, git_inde
|
||||
|
||||
*conflicts = 0;
|
||||
|
||||
/* We need to have merged at least 1 file for the possibility to exist to
|
||||
* have conflicts with the workdir. Passing 0 as the pathspec count paramter
|
||||
* will consider all files in the working directory, that is, we may detect
|
||||
* a conflict if there were untracked files in the workdir prior to starting
|
||||
* the merge. This typically happens when cherry-picking a commmit whose
|
||||
* changes have already been applied.
|
||||
*/
|
||||
if (merged_paths->length == 0)
|
||||
return 0;
|
||||
|
||||
opts.flags |= GIT_DIFF_INCLUDE_UNTRACKED;
|
||||
|
||||
/* Workdir changes may exist iff they do not conflict with changes that
|
||||
|
Loading…
Reference in New Issue
Block a user