Adjust git dir when checking for merge in worktree
diff --git a/pre_commit_hooks/check_merge_conflict.py b/pre_commit_hooks/check_merge_conflict.py
index c20a8af..dc25b29 100644
--- a/pre_commit_hooks/check_merge_conflict.py
+++ b/pre_commit_hooks/check_merge_conflict.py
@@ -3,6 +3,8 @@
 from typing import Optional
 from typing import Sequence
 
+from pre_commit_hooks.util import cmd_output
+
 
 CONFLICT_PATTERNS = [
     b'<<<<<<< ',
@@ -12,13 +14,14 @@
 ]
 
 
-def is_in_merge() -> int:
+def is_in_merge() -> bool:
+    git_dir = cmd_output('git', 'rev-parse', '--git-dir').rstrip()
     return (
-        os.path.exists(os.path.join('.git', 'MERGE_MSG')) and
+        os.path.exists(os.path.join(git_dir, 'MERGE_MSG')) and
         (
-            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'))
+            os.path.exists(os.path.join(git_dir, 'MERGE_HEAD')) or
+            os.path.exists(os.path.join(git_dir, 'rebase-apply')) or
+            os.path.exists(os.path.join(git_dir, 'rebase-merge'))
         )
     )
 
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index de07bc1..79c1b11 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -135,3 +135,15 @@
     f = tmpdir.join('README.md')
     f.write_binary(b'problem\n=======\n')
     assert main([str(f.realpath()), '--assume-in-merge']) == 1
+
+
+def test_worktree_merge_conflicts(f1_is_a_conflict_file, tmpdir):
+    worktree = tmpdir.join('worktree')
+    cmd_output('git', 'worktree', 'add', str(worktree))
+    with worktree.as_cwd():
+        cmd_output(
+            'git', 'pull', '--no-rebase', 'origin', 'master', retcode=None,
+        )
+        msg = f1_is_a_conflict_file.join('.git/worktrees/worktree/MERGE_MSG')
+        assert msg.exists()
+        test_merge_conflicts_git()