Support rebase conflicts in check-merge-conflicts
diff --git a/pre_commit_hooks/check_merge_conflict.py b/pre_commit_hooks/check_merge_conflict.py
index d986998..7d87efc 100644
--- a/pre_commit_hooks/check_merge_conflict.py
+++ b/pre_commit_hooks/check_merge_conflict.py
@@ -15,7 +15,11 @@
 def is_in_merge():
     return (
         os.path.exists(os.path.join('.git', 'MERGE_MSG')) and
-        os.path.exists(os.path.join('.git', 'MERGE_HEAD'))
+        (
+            os.path.exists(os.path.join('.git', 'MERGE_HEAD')) or
+            os.path.exists(os.path.join('.git', 'rebase-apply')) or
+            os.path.exists(os.path.join('.git', 'rebase-merge'))
+        )
     )
 
 
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index f1528b2..5a2e82a 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -54,6 +54,14 @@
             '=======\n'
             'parent\n'
             '>>>>>>>'
+        ) or f1.startswith(
+            # .gitconfig with [pull] rebase = preserve causes a rebase which
+            # flips parent / child
+            '<<<<<<< HEAD\n'
+            'parent\n'
+            '=======\n'
+            'child\n'
+            '>>>>>>>'
         )
         assert os.path.exists(os.path.join('.git', 'MERGE_MSG'))
         yield
@@ -85,7 +93,7 @@
         repo2_f2.write('child\n')
         cmd_output('git', 'add', '--', repo2_f2.strpath)
         cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'clone commit2')
-        cmd_output('git', 'pull', '--no-commit')
+        cmd_output('git', 'pull', '--no-commit', '--no-rebase')
         # We should end up in a pending merge
         assert repo2_f1.read() == 'parent\n'
         assert repo2_f2.read() == 'child\n'