##// END OF EJS Templates
update: don't translate the abort message twice...
update: don't translate the abort message twice The string representation of util.Abort() is translated when merge.update() raises the exception. For languages with characters out of the valid ascii range, if we feed them again to i18n.gettext() mercurial dies with: [...] File "/home/javi/src/mercurial/mercurial/hg-mpm/mercurial/commands.py", line 4287, in postincoming ui.warn(_("not updating: %s\n" % str(inst))) File "/home/javi/src/mercurial/mercurial/hg-mpm/mercurial/i18n.py", line 42, in gettext u = u'\n\n'.join([p and t.ugettext(p) or '' for p in paragraphs]) File "/usr/lib/python2.7/gettext.py", line 404, in ugettext return unicode(message) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 14: ordinal not in range(128) To reproduce this error, just try to pull a changeset that crosses branches with LANG=ru_RU.UTF-8

File last commit:

r10263:25e57239 stable
r16230:d4d35fd0 stable
Show More
node.py
18 lines | 449 B | text/x-python | PythonLexer
# node.py - basic nodeid manipulation for mercurial
#
# Copyright 2005, 2006 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.
import binascii
nullrev = -1
nullid = "\0" * 20
# This ugly style has a noticeable effect in manifest parsing
hex = binascii.hexlify
bin = binascii.unhexlify
def short(node):
return hex(node[:6])