Adjust git dir when checking for merge in worktree
This commit is contained in:
parent
e35ba8d463
commit
07af54024c
|
@ -3,6 +3,8 @@ import os.path
|
|||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
from pre_commit_hooks.util import cmd_output
|
||||
|
||||
|
||||
CONFLICT_PATTERNS = [
|
||||
b'<<<<<<< ',
|
||||
|
@ -12,13 +14,14 @@ CONFLICT_PATTERNS = [
|
|||
]
|
||||
|
||||
|
||||
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'))
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -135,3 +135,15 @@ def test_care_when_assumed_merge(tmpdir):
|
|||
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()
|
||||
|
|
Loading…
Reference in New Issue