Skip to content

Commit 4f2be1e

Browse files
committed
Merge: Pass Branch with pygit2 1.17.1+
This will produce a better MERGE_MSG. See libgit2/pygit2#1348
1 parent 9a4b044 commit 4f2be1e

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

gitfourchette/tasks/branchtasks.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,10 @@ def flow(self, them: str):
583583
self.effects |= TaskEffects.Workdir
584584
self.jumpTo = NavLocator.inWorkdir()
585585

586-
self.repo.merge(target)
586+
if pygit2_version_at_least("1.17.1", raise_error=False, feature_name="git_annotated_commit_from_ref"):
587+
self.repo.merge(theirBranch)
588+
else: # pragma: no cover
589+
self.repo.merge(target)
587590
self.repoModel.prefs.draftCommitMessage = self.repo.message_without_conflict_comments
588591

589592
self.postStatus = _("Merging {0} into {1}.", tquo(theirShorthand), tquo(myShorthand))

test/test_tasks_branch.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,10 @@ def testMergeCausesConflicts(tempDir, mainWindow):
916916
acceptQMessageBox(rw, "empty commit")
917917
commitDialog: CommitDialog = findQDialog(rw, "commit")
918918
preparedMessage = commitDialog.getFullMessage()
919-
assert re.match(r"Merge commit.+1b2bae55", preparedMessage)
919+
if pygit2_version_at_least("1.17.1", raise_error=False, feature_name="git_annotated_commit_from_ref"):
920+
assert re.match(r"Merge branch.+branch-conflicts", commitDialog.getFullMessage())
921+
else:
922+
assert re.match(r"Merge commit.+1b2bae55", preparedMessage)
920923
assert "Conflicts" not in preparedMessage
921924
assert "#" not in preparedMessage
922925

0 commit comments

Comments
 (0)