Mercurial > hg > 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 +++ b/hggit/git_handler.py @@ -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'