As suggested by Jed Brown; there's no need to re-import all the commits.
Cc: Jed Brown <[email protected]>
Signed-off-by: Felipe Contreras <[email protected]>
---
contrib/remote-helpers/git-remote-hg | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/contrib/remote-helpers/git-remote-hg
b/contrib/remote-helpers/git-remote-hg
index fbd70ef..6cad5cd 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -103,14 +103,20 @@ def get_config_bool(config, default=False):
class Marks:
- def __init__(self, path):
+ def __init__(self, path, repo):
self.path = path
+ self.repo = repo
self.clear()
self.load()
if self.version < VERSION:
- self.clear()
- self.version = VERSION
+ if self.version == 1:
+ self.upgrade_one()
+
+ # upgraded?
+ if self.version < VERSION:
+ self.clear()
+ self.version = VERSION
def clear(self):
self.tips = {}
@@ -133,6 +139,14 @@ class Marks:
for rev, mark in self.marks.iteritems():
self.rev_marks[mark] = rev
+ def upgrade_one(self):
+ def get_id(rev):
+ return hghex(self.repo.changelog.node(int(rev)))
+ self.tips = dict((name, get_id(rev)) for name, rev in
self.tips.iteritems())
+ self.marks = dict((get_id(rev), mark) for rev, mark in
self.marks.iteritems())
+ self.rev_marks = dict((mark, get_id(rev)) for mark, rev in
self.rev_marks.iteritems())
+ self.version = 2
+
def dict(self):
return { 'tips': self.tips, 'marks': self.marks, 'last-mark' :
self.last_mark, 'version' : self.version }
@@ -976,7 +990,7 @@ def main(args):
fix_path(alias, peer or repo, url)
marks_path = os.path.join(dirname, 'marks-hg')
- marks = Marks(marks_path)
+ marks = Marks(marks_path, repo)
parser = Parser(repo)
for line in parser:
--
1.8.3.rc1.579.g184e698
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html