summaryrefslogtreecommitdiffstats
path: root/pre_commit_hooks/check_merge_conflict.py
diff options
context:
space:
mode:
Diffstat (limited to 'pre_commit_hooks/check_merge_conflict.py')
-rw-r--r--pre_commit_hooks/check_merge_conflict.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/pre_commit_hooks/check_merge_conflict.py b/pre_commit_hooks/check_merge_conflict.py
index aed1e9c..15ec284 100644
--- a/pre_commit_hooks/check_merge_conflict.py
+++ b/pre_commit_hooks/check_merge_conflict.py
@@ -1,6 +1,7 @@
+from __future__ import annotations
+
import argparse
import os.path
-from typing import Optional
from typing import Sequence
from pre_commit_hooks.util import cmd_output
@@ -9,6 +10,7 @@ from pre_commit_hooks.util import cmd_output
CONFLICT_PATTERNS = [
b'<<<<<<< ',
b'======= ',
+ b'=======\r\n',
b'=======\n',
b'>>>>>>> ',
]
@@ -26,7 +28,7 @@ def is_in_merge() -> bool:
)
-def main(argv: Optional[Sequence[str]] = None) -> int:
+def main(argv: Sequence[str] | None = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*')
parser.add_argument('--assume-in-merge', action='store_true')
@@ -38,12 +40,12 @@ def main(argv: Optional[Sequence[str]] = None) -> int:
retcode = 0
for filename in args.filenames:
with open(filename, 'rb') as inputfile:
- for i, line in enumerate(inputfile):
+ for i, line in enumerate(inputfile, start=1):
for pattern in CONFLICT_PATTERNS:
if line.startswith(pattern):
print(
- f'Merge conflict string "{pattern.decode()}" '
- f'found in {filename}:{i + 1}',
+ f'{filename}:{i}: Merge conflict string '
+ f'{pattern.strip().decode()!r} found',
)
retcode = 1