Skip to content

Commit b7eb412

Browse files
tusharsadhwaniasottile
authored andcommitted
fix: crash on ambiguous ref 'HEAD'
1 parent 7b88c63 commit b7eb412

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

pre_commit/git.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def get_conflicted_files() -> set[str]:
126126
merge_diff_filenames = zsplit(
127127
cmd_output(
128128
'git', 'diff', '--name-only', '--no-ext-diff', '-z',
129-
'-m', tree_hash, 'HEAD', 'MERGE_HEAD',
129+
'-m', tree_hash, 'HEAD', 'MERGE_HEAD', '--',
130130
)[1],
131131
)
132132
return set(merge_conflict_filenames) | set(merge_diff_filenames)

tests/git_test.py

+9
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,15 @@ def test_get_conflicted_files_unstaged_files(in_merge_conflict):
141141
assert ret == {'conflict_file'}
142142

143143

144+
def test_get_conflicted_files_with_file_named_head(in_merge_conflict):
145+
resolve_conflict()
146+
open('HEAD', 'w').close()
147+
cmd_output('git', 'add', 'HEAD')
148+
149+
ret = set(git.get_conflicted_files())
150+
assert ret == {'conflict_file', 'HEAD'}
151+
152+
144153
MERGE_MSG = b"Merge branch 'foo' into bar\n\nConflicts:\n\tconflict_file\n"
145154
OTHER_MERGE_MSG = MERGE_MSG + b'\tother_conflict_file\n'
146155

0 commit comments

Comments
 (0)