Mercurial > hg
comparison mercurial/obsolete.py @ 32596:19df975eb555
obsolete: raise richer exception on unknown version
We raise a more precise subclass of Abort with details about the faulty
version. This will be used to detect this case and display some information
in debugbundle.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 25 May 2017 16:50:23 +0200 |
parents | 176d1a0ce385 |
children | 00a7f7b1af9c |
comparison
equal
deleted
inserted
replaced
32595:9e46627baa3c | 32596:19df975eb555 |
---|---|
444 """Read and enumerate markers from raw data""" | 444 """Read and enumerate markers from raw data""" |
445 off = 0 | 445 off = 0 |
446 diskversion = _unpack('>B', data[off:off + 1])[0] | 446 diskversion = _unpack('>B', data[off:off + 1])[0] |
447 off += 1 | 447 off += 1 |
448 if diskversion not in formats: | 448 if diskversion not in formats: |
449 raise error.Abort(_('parsing obsolete marker: unknown version %r') | 449 msg = _('parsing obsolete marker: unknown version %r') % diskversion |
450 % diskversion) | 450 raise error.UnknownVersion(msg, version=diskversion) |
451 return diskversion, formats[diskversion][0](data, off) | 451 return diskversion, formats[diskversion][0](data, off) |
452 | 452 |
453 def encodemarkers(markers, addheader=False, version=_fm0version): | 453 def encodemarkers(markers, addheader=False, version=_fm0version): |
454 # Kept separate from flushmarkers(), it will be reused for | 454 # Kept separate from flushmarkers(), it will be reused for |
455 # markers exchange. | 455 # markers exchange. |