Skip to content

Commit 766e550

Browse files
authored
Merge pull request #3727 from pre-commit/dedupe
avoid duplicate files in --all-files during conflict
2 parents 1558d06 + 8a1c47a commit 766e550

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

pre_commit/git.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def intent_to_add_files() -> list[str]:
152152

153153

154154
def get_all_files() -> list[str]:
155-
return zsplit(cmd_output('git', 'ls-files', '-z')[1])
155+
return zsplit(cmd_output('git', 'ls-files', '-z', '--deduplicate')[1])
156156

157157

158158
def get_changed_files(old: str, new: str) -> list[str]:

tests/git_test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,17 @@ def test_all_files_non_ascii(non_ascii_repo):
225225
assert ret == ['интервью']
226226

227227

228+
def test_all_files_merge_conflict(in_merge_conflict):
229+
ret = git.get_all_files()
230+
assert sorted(ret) == sorted([
231+
'.pre-commit-config.yaml',
232+
'bar_only_file',
233+
'conflict_file',
234+
'foo_only_file',
235+
'placeholder',
236+
])
237+
238+
228239
def test_staged_files_non_ascii(non_ascii_repo):
229240
non_ascii_repo.join('интервью').write('hi')
230241
cmd_output('git', 'add', '.')

0 commit comments

Comments
 (0)