Mercurial > hg-git
changeset 268:6fded8e42858
git_handler: update for slight API change in bookmarks
This should continue being backwards compatible through at least hg 1.3, perhaps further.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 26 Dec 2009 12:22:06 -0600 |
parents | 7814c26758a2 |
children | 77d6c9eb02fb |
files | hggit/git_handler.py tests/test-merge tests/test-merge.out |
diffstat | 3 files changed, 17 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hggit/git_handler.py Sun Nov 29 16:29:18 2009 +0100 +++ b/hggit/git_handler.py Sat Dec 26 12:22:06 2009 -0600 @@ -539,7 +539,7 @@ del new_refs['capabilities^{}'] if not self.local_heads(): tip = hex(self.repo.lookup('tip')) - bookmarks.bookmark(self.ui, self.repo, 'master', tip) + bookmarks.bookmark(self.ui, self.repo, 'master', tip, force=True) bookmarks.setcurrent(self.repo, 'master') new_refs['refs/heads/master'] = self.map_git_get(tip) @@ -619,7 +619,10 @@ def local_heads(self): try: - bms = bookmarks.parse(self.repo) + if getattr(bookmarks, 'parse', None): + bms = bookmarks.parse(self.repo) + else: + bms = self.repo._bookmarks return dict([(bm, hex(bms[bm])) for bm in bms]) except AttributeError: #pragma: no cover return {} @@ -656,7 +659,11 @@ def update_hg_bookmarks(self, refs): try: - bms = bookmarks.parse(self.repo) + oldbm = getattr(bookmarks, 'parse', None) + if oldbm: + bms = bookmarks.parse(self.repo) + else: + bms = self.repo._bookmarks heads = dict([(ref[11:],refs[ref]) for ref in refs if ref.startswith('refs/heads/')]) @@ -675,7 +682,11 @@ # fast forward bms[head] = hgsha if heads: - bookmarks.write(self.repo, bms) + if oldbm: + bookmarks.write(self.repo, bms) + else: + self.repo._bookmarks = bms + bookmarks.write(self.repo) except AttributeError: self.ui.warn(_('creating bookmarks failed, do you have'
--- a/tests/test-merge Sun Nov 29 16:29:18 2009 +0100 +++ b/tests/test-merge Sat Dec 26 12:22:06 2009 -0600 @@ -73,6 +73,7 @@ cd .. cd gitrepo2 +echo % git log in repo pushed from hg git log master | sed 's/\.\.\.//g' git log beta | sed 's/\.\.\.//g'
--- a/tests/test-merge.out Sun Nov 29 16:29:18 2009 +0100 +++ b/tests/test-merge.out Sat Dec 26 12:22:06 2009 -0600 @@ -22,6 +22,7 @@ importing Hg objects into Git at: 0/4 creating and sending data +% git log in repo pushed from hg commit 5806851511aaf3bfe813ae3a86c5027165fa9b96 Merge: e5023f9 9497a4e Author: test <test@example.org>