##// END OF EJS Templates
worker: handle interrupt on windows...
worker: handle interrupt on windows After applying suggestions from https://phab.mercurial-scm.org/D1564 to catch all exceptions in the same way I actually broke the handling of KeyboardInterrupt on windows. The reason is that KeyboardInterrupt doesn't dervie from Exception, but BaseException: https://docs.python.org/2/library/exceptions.html starting from python 2.5 Test Plan: Run hg on windows and ctrl-c during a large update. No random exceptions from threads surface in the shell. Previously we'd nearly always get stack traces from some of threads Run tests ./run-tests.py [...] Failed test-convert-svn-encoding.t: output changed # Ran 622 tests, 41 skipped, 1 failed. python hash seed: 2962682116 The test failing seems to have nothing to do with the change and fails on base revision as well Differential Revision: https://phab.mercurial-scm.org/D1718

File last commit:

r30494:c1149533 default
r35492:44fd4cfc @6 default
Show More
mergeutil.py
22 lines | 701 B | text/x-python | PythonLexer
# mergeutil.py - help for merge processing in mercurial
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
from .i18n import _
from . import (
error,
)
def checkunresolved(ms):
if list(ms.unresolved()):
raise error.Abort(_("unresolved merge conflicts "
"(see 'hg help resolve')"))
if ms.mdstate() != 's' or list(ms.driverresolved()):
raise error.Abort(_('driver-resolved merge conflicts'),
hint=_('run "hg resolve --all" to resolve'))