Re: [RFC/PATH 3/4] remote-hg: add version checks to the marks
- From
Jed Brown <jed@59a2.org>
- Date
- Apr 5, 2013, 12:46 UTC
- Message-ID
- <8738v5qh5v.fsf@59A2.org>
- In-Reply-To
- <1365161779-32170-4-git-send-email-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 9 quoted lines
> @@ -76,12 +78,19 @@ class Marks: > > def __init__(self, path): > self.path = path > + self.clear() > + self.load() > + > + if self.version < VERSION: > + self.clear()
It's friendlier to just upgrade the marks in-place. This takes less than one second to run on repositories where full re-import would take half an hour:
def upgrade_marks(self, hgrepo):
if self.marks_version == 1: # Convert from integer reversions to hgsha1
warn("Upgrading marks-hg from hg sequence number to SHA1")
self.marks_to_revisions = dict(
(mark, hghex(hgrepo.changelog.node(int(rev))))
for mark, rev in self.marks_to_revisions.iteritems())
self.revisions_to_marks = dict(
(hghex(hgrepo.changelog.node(int(rev))), mark)
for rev, mark in self.revisions_to_marks.iteritems())
self.marks_version = 2
warn("Upgrade complete")https://github.com/buchuki/gitifyhg/commit/23a6709efd14f3e058e3a846624b7677d1e8b497#L0R195