Mercurial > hg-git
changeset 276:8aff8c9d04d7
Merge with abderrahim.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 26 Dec 2009 13:31:24 -0600 |
parents | c2d6b1093e7e (current diff) c49a01f91f5d (diff) |
children | b2926066f053 |
files | hggit/git_handler.py tests/test-merge tests/test-merge.out |
diffstat | 5 files changed, 24 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Fri Dec 25 08:56:20 2009 +0100 +++ b/.hgtags Sat Dec 26 13:31:24 2009 -0600 @@ -1,1 +1,2 @@ 505d7cdca19838bfb270193e0709154a2dad5c19 0.1.0 +77d6c9eb02fb96abb6a933170a912e94e3141f22 0.2.0
--- a/hggit/git_handler.py Fri Dec 25 08:56:20 2009 +0100 +++ b/hggit/git_handler.py Sat Dec 26 13:31:24 2009 -0600 @@ -1,4 +1,4 @@ -import os, sys, math, urllib, re +import os, math, urllib, re import toposort from dulwich.errors import HangupException @@ -12,11 +12,6 @@ from mercurial.node import hex, bin, nullid from mercurial import context, util as hgutil -try: - from mercurial.error import RepoError -except ImportError: - from mercurial.repo import RepoError - class GitHandler(object): @@ -539,7 +534,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) @@ -594,9 +589,10 @@ return want f, commit = self.git.object_store.add_pack() try: - return client.fetch_pack(path, determine_wants, graphwalker, f.write, self.ui.status) - except HangupException: - raise hgutil.Abort("the remote end hung up unexpectedly") + try: + return client.fetch_pack(path, determine_wants, graphwalker, f.write, self.ui.status) + except HangupException: + raise hgutil.Abort("the remote end hung up unexpectedly") finally: commit() @@ -618,7 +614,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 {} @@ -655,7 +654,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/')]) @@ -674,7 +677,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/setup.py Fri Dec 25 08:56:20 2009 +0100 +++ b/setup.py Sat Dec 26 13:31:24 2009 -0600 @@ -5,7 +5,7 @@ setup( name='hg-git', - version='0.1.0', + version='0.2.0', author='Scott Chacon', maintainer='Augie Fackler', maintainer_email='durin42@gmail.com',
--- a/tests/test-merge Fri Dec 25 08:56:20 2009 +0100 +++ b/tests/test-merge Sat Dec 26 13:31:24 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 Fri Dec 25 08:56:20 2009 +0100 +++ b/tests/test-merge.out Sat Dec 26 13:31:24 2009 -0600 @@ -21,6 +21,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>