diff mercurial/error.py @ 26985:039a53c87370

error: add a structured exception for unsupported merge records We're going to use this in summary to print a better error message.
author Siddharth Agarwal <sid0@fb.com>
date Tue, 17 Nov 2015 14:10:12 -0800
parents 5e46123e6c35
children f8142cb77b1e
line wrap: on
line diff
--- a/mercurial/error.py	Tue Nov 17 13:47:16 2015 -0800
+++ b/mercurial/error.py	Tue Nov 17 14:10:12 2015 -0800
@@ -112,6 +112,16 @@
 class RequirementError(RepoError):
     """Exception raised if .hg/requires has an unknown entry."""
 
+class UnsupportedMergeRecords(Abort):
+    def __init__(self, recordtypes):
+        from .i18n import _
+        self.recordtypes = sorted(recordtypes)
+        s = ' '.join(self.recordtypes)
+        Abort.__init__(
+            self, _('unsupported merge state records: %s') % s,
+            hint=_('see https://mercurial-scm.org/wiki/MergeStateRecords for '
+                   'more information'))
+
 class LockError(IOError):
     def __init__(self, errno, strerror, filename, desc):
         IOError.__init__(self, errno, strerror, filename)