comparison mercurial/obsolete.py @ 22847:37460ee2003c

obsolete: _rename decodemeta to _fm0decodemeta This will be format zero specific.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 08 Oct 2014 22:12:06 -0700
parents b1efc4893da4
children 72100c1d53d4
comparison
equal deleted inserted replaced
22846:b1efc4893da4 22847:37460ee2003c
160 if len(metadata) != mdsize: 160 if len(metadata) != mdsize:
161 raise util.Abort(_('parsing obsolete marker: metadata is too ' 161 raise util.Abort(_('parsing obsolete marker: metadata is too '
162 'short, %d bytes expected, got %d') 162 'short, %d bytes expected, got %d')
163 % (mdsize, len(metadata))) 163 % (mdsize, len(metadata)))
164 off += mdsize 164 off += mdsize
165 metadata = decodemeta(metadata) 165 metadata = _fm0decodemeta(metadata)
166 try: 166 try:
167 when, offset = metadata.pop('date', '0 0').split(' ') 167 when, offset = metadata.pop('date', '0 0').split(' ')
168 date = float(when), int(offset) 168 date = float(when), int(offset)
169 except ValueError: 169 except ValueError:
170 date = (0., 0) 170 date = (0., 0)
241 raise ValueError("':' and '\0' are forbidden in metadata key'") 241 raise ValueError("':' and '\0' are forbidden in metadata key'")
242 if '\0' in value: 242 if '\0' in value:
243 raise ValueError("':' is forbidden in metadata value'") 243 raise ValueError("':' is forbidden in metadata value'")
244 return '\0'.join(['%s:%s' % (k, meta[k]) for k in sorted(meta)]) 244 return '\0'.join(['%s:%s' % (k, meta[k]) for k in sorted(meta)])
245 245
246 def decodemeta(data): 246 def _fm0decodemeta(data):
247 """Return string to string dictionary from encoded version.""" 247 """Return string to string dictionary from encoded version."""
248 d = {} 248 d = {}
249 for l in data.split('\0'): 249 for l in data.split('\0'):
250 if l: 250 if l:
251 key, value = l.split(':') 251 key, value = l.split(':')