D7912: py3: fix curses chunkselector fallback (when diffs are too large) on py3
spectral (Kyle Lippincott)
phabricator at mercurial-scm.org
Thu Jan 16 20:20:47 UTC 2020
spectral created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Previously we showed the message using Exception.message, which is removed in
py3. Since crecordmod.fallbackerror inherits from error.Abort, we can just use
`b'%s' % exception` to print the message. This does not print the hint, but
that's fine - we don't set one. We inherit from error.Abort so that if a
codepath doesn't handle fallback specially, it exits to the terminal with a sane
message instead of an unknown exception error.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D7912
AFFECTED FILES
mercurial/cmdutil.py
CHANGE DETAILS
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -386,7 +386,7 @@
ui, originalhunks, recordfn, operation
)
except crecordmod.fallbackerror as e:
- ui.warn(b'%s\n' % e.message) # pytype: disable=attribute-error
+ ui.warn(b'%s\n' % e)
ui.warn(_(b'falling back to text mode\n'))
return patch.filterpatch(ui, originalhunks, match, operation)
To: spectral, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list