diff --git a/hggit/git_handler.py b/hggit/git_handler.py index 0db597e185a18fda06f49a3cfc74ab105434e21c_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..d4b7380435c63607e771a00872dd685df0911447_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644 --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -1647,6 +1647,5 @@ try: bms = self.repo._bookmarks - suffix = self.branch_bookmark_suffix or b'' changes = [] for head, hgsha in self._get_heads(refs).items(): @@ -1651,4 +1650,6 @@ changes = [] for head, hgsha in self._get_heads(refs).items(): - if head not in bms: + bm = head + (self.branch_bookmark_suffix or b'') + + if bm not in bms: # new branch @@ -1654,10 +1655,8 @@ # new branch - changes.append((head + suffix, hgsha)) - else: - bm = self.repo[bms[head]] - if bm.ancestor(self.repo[hgsha]) == bm: - # fast forward - changes.append((head + suffix, hgsha)) + changes.append((bm, hgsha)) + elif self.repo[bms[bm]].isancestorof(self.repo[hgsha]): + # fast forward + changes.append((bm, hgsha)) if changes: with self.repo.wlock(), self.repo.lock(): diff --git a/tests/test-branch-bookmark-suffix.t b/tests/test-branch-bookmark-suffix.t index 0db597e185a18fda06f49a3cfc74ab105434e21c_dGVzdHMvdGVzdC1icmFuY2gtYm9va21hcmstc3VmZml4LnQ=..d4b7380435c63607e771a00872dd685df0911447_dGVzdHMvdGVzdC1icmFuY2gtYm9va21hcmstc3VmZml4LnQ= 100644 --- a/tests/test-branch-bookmark-suffix.t +++ b/tests/test-branch-bookmark-suffix.t @@ -243,7 +243,6 @@ (run 'hg update' to get a working copy) $ hg log --graph o changeset: 5:895d0307f8b7 - | bookmark: branch1_bookmark | tag: default/branch1 (with-path !) | tag: tip | user: test <test@example.org> @@ -272,7 +271,8 @@ | summary: add f2 | | o changeset: 1:8211cade99e4 - |/ user: test <test@example.org> + |/ bookmark: branch1_bookmark + | user: test <test@example.org> | date: Mon Jan 01 00:00:12 2007 +0000 | summary: append f1 |