Tue, 06 Mar 2012 18:42:52 +0200 localrepo: refactor retrieving of journal/undo files paths
Idan Kamara <idankk86@gmail.com> [Tue, 06 Mar 2012 18:42:52 +0200] rev 16236
localrepo: refactor retrieving of journal/undo files paths We'd like to remove undo files after stripping
Tue, 06 Mar 2012 23:23:30 +0100 templates/filters: strip quotes from {author|person}
"Yann E. MORIN" <yann.morin.1998@free.fr> [Tue, 06 Mar 2012 23:23:30 +0100] rev 16235
templates/filters: strip quotes from {author|person} RFC5322 (Internet Message Format) [0] says that the 'display name' of an internet address [1] (what Mercurial calls 'person') can be quoted with DQUOTE (ASCII 34: ") if it contains non-atom characters [2]. For example, dot '.' is a non-atom character. Also, DQUOTEs in a quoted string will be escaped using "\" [2][3]. The current {author|person} template+filter just extracts the part before an email address as-is. This can look ugly, especially on the web interface, or when generating output for post-processing... Moreover, as an example, the Mercurial repository has a bunch of incoherent uses of DQUOTES in author names. As per Matt's digging: $ hg log --template "{author|person}\n" | grep '"' | sort | uniq "Andrei Vermel "Aurelien Jacobs "Daniel Santa Cruz "Hidetaka Iwai "Hiroshi Funai" "Mathieu Clabaut "Paul Moore "Peter Arrenbrecht" "Rafael Villar Burke "Shun-ichi GOTO" "Wallace, Eric S" "Yann E. MORIN" Josef "Jeff" Sipek Radoslaw "AstralStorm" Szkodzinski Fix the 'person' filter to remove leading and trailing DQUOTES, and unescape remaining DQUOTES. Given this author: "J. \"random\" DOE" <john@doe.net> before: {author|person} : "J. \"random\" DOE" after: {author|person} : J. "random" DOE For the Mercurial repository, that leaves us with two authors with DQUOTES, in acceptable positions: $ hg log --template "{author|person}\n" | grep '"' | sort | uniq Josef "Jeff" Sipek Radoslaw "AstralStorm" Szkodzinski [0] https://tools.ietf.org/html/rfc5322 [1] https://tools.ietf.org/html/rfc5322#section-3.4 [2] https://tools.ietf.org/html/rfc5322#section-3.2.4 [3] https://tools.ietf.org/html/rfc5322#section-3.2.1 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu, 08 Mar 2012 15:59:44 -0600 check-code: check for % inside _()
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:44 -0600] rev 16234
check-code: check for % inside _()
Thu, 08 Mar 2012 15:59:41 -0600 patchbomb: add (optional) note to 0 of 0 prompt
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:41 -0600] rev 16233
patchbomb: add (optional) note to 0 of 0 prompt
Thu, 08 Mar 2012 15:59:33 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:33 -0600] rev 16232
merge with stable
Thu, 08 Mar 2012 13:35:27 -0600 i18n: fix all remaining uses of % inside _() stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 13:35:27 -0600] rev 16231
i18n: fix all remaining uses of % inside _()
Wed, 07 Mar 2012 23:21:11 +0000 update: don't translate the abort message twice stable
Javi Merino <cibervicho@gmail.com> [Wed, 07 Mar 2012 23:21:11 +0000] rev 16230
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
(0) -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip