remote-hg: add version checks to the marks
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
e936a5d484
commit
c43c06b186
@ -55,6 +55,8 @@ EMAIL_RE = re.compile('^([^<>]+[^ \\\t<>])?\\b(?:[ \\t<>]*?)\\b([^ \\t<>]+@[^ \\
|
|||||||
AUTHOR_HG_RE = re.compile('^(.*?) ?<(.*?)(?:>(.+)?)?$')
|
AUTHOR_HG_RE = re.compile('^(.*?) ?<(.*?)(?:>(.+)?)?$')
|
||||||
RAW_AUTHOR_RE = re.compile('^(\w+) (?:(.+)? )?<(.*)> (\d+) ([+-]\d+)')
|
RAW_AUTHOR_RE = re.compile('^(\w+) (?:(.+)? )?<(.*)> (\d+) ([+-]\d+)')
|
||||||
|
|
||||||
|
VERSION = 1
|
||||||
|
|
||||||
def die(msg, *args):
|
def die(msg, *args):
|
||||||
sys.stderr.write('ERROR: %s\n' % (msg % args))
|
sys.stderr.write('ERROR: %s\n' % (msg % args))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
@ -103,12 +105,19 @@ class Marks:
|
|||||||
|
|
||||||
def __init__(self, path):
|
def __init__(self, path):
|
||||||
self.path = path
|
self.path = path
|
||||||
|
self.clear()
|
||||||
|
self.load()
|
||||||
|
|
||||||
|
if self.version < VERSION:
|
||||||
|
self.clear()
|
||||||
|
self.version = VERSION
|
||||||
|
|
||||||
|
def clear(self):
|
||||||
self.tips = {}
|
self.tips = {}
|
||||||
self.marks = {}
|
self.marks = {}
|
||||||
self.rev_marks = {}
|
self.rev_marks = {}
|
||||||
self.last_mark = 0
|
self.last_mark = 0
|
||||||
|
self.version = 0
|
||||||
self.load()
|
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
if not os.path.exists(self.path):
|
if not os.path.exists(self.path):
|
||||||
@ -119,12 +128,13 @@ class Marks:
|
|||||||
self.tips = tmp['tips']
|
self.tips = tmp['tips']
|
||||||
self.marks = tmp['marks']
|
self.marks = tmp['marks']
|
||||||
self.last_mark = tmp['last-mark']
|
self.last_mark = tmp['last-mark']
|
||||||
|
self.version = tmp.get('version', 1)
|
||||||
|
|
||||||
for rev, mark in self.marks.iteritems():
|
for rev, mark in self.marks.iteritems():
|
||||||
self.rev_marks[mark] = int(rev)
|
self.rev_marks[mark] = int(rev)
|
||||||
|
|
||||||
def dict(self):
|
def dict(self):
|
||||||
return { 'tips': self.tips, 'marks': self.marks, 'last-mark' : self.last_mark }
|
return { 'tips': self.tips, 'marks': self.marks, 'last-mark' : self.last_mark, 'version' : self.version }
|
||||||
|
|
||||||
def store(self):
|
def store(self):
|
||||||
json.dump(self.dict(), open(self.path, 'w'))
|
json.dump(self.dict(), open(self.path, 'w'))
|
||||||
|
Reference in New Issue
Block a user