comparison util.py @ 159:463998d266e3

parse_revmap: Stop supporting pickled revmaps. I've made enough major changes that any of those still left are useless anyway.
author Augie Fackler <durin42@gmail.com>
date Wed, 24 Dec 2008 11:23:19 -0600
parents 6fa97cfbf62f
children 57355b0e7bd1
comparison
equal deleted inserted replaced
158:91c818377703 159:463998d266e3
40 40
41 REVMAP_FILE_VERSION = 1 41 REVMAP_FILE_VERSION = 1
42 def parse_revmap(revmap_filename): 42 def parse_revmap(revmap_filename):
43 revmap = {} 43 revmap = {}
44 f = open(revmap_filename) 44 f = open(revmap_filename)
45 try: 45 ver = int(f.readline())
46 # Remove compat code after March of 2009. That should be more than long 46 if ver == 1:
47 # enough. 47 for l in f:
48 revmap = pickle.load(f) 48 revnum, node_hash, branch = l.split(' ', 2)
49 if branch == '\n':
50 branch = None
51 else:
52 branch = branch[:-1]
53 revmap[int(revnum), branch] = node.bin(node_hash)
49 f.close() 54 f.close()
50 f = open(revmap_filename, 'w') 55 else: #pragma: no cover
51 f.write('1\n') 56 print ('Your revmap was made by a newer version of hgsubversion.'
52 for key, value in sorted(revmap.items()): 57 ' Please upgrade.')
53 f.write('%s %s %s\n' % (str(key[0]), node.hex(value), key[1] or '')) 58 raise NotImplementedError
54 f.close()
55 except:
56 f.close()
57 f = open(revmap_filename)
58 ver = int(f.readline())
59 if ver == 1:
60 for l in f:
61 revnum, node_hash, branch = l.split(' ', 2)
62 if branch == '\n':
63 branch = None
64 else:
65 branch = branch[:-1]
66 revmap[int(revnum), branch] = node.bin(node_hash)
67 f.close()
68 else:
69 print ('Your revmap was made by a newer version of hgsubversion.'
70 ' Please upgrade.')
71 raise NotImplementedError
72 return revmap 59 return revmap
73 60
74 61
75 class PrefixMatch(object): 62 class PrefixMatch(object):
76 def __init__(self, prefix): 63 def __init__(self, prefix):