First, look at hgext/largefiles/overrides.py: 415: except util.Abort, e: 416: if str(e) != 'no files to copy': 417: raise e 502: except util.Abort, e: 503: if str(e) != 'no files to copy': 504: raise e 511: if nolfiles and nonormalfiles: 512: raise util.Abort(_('no files to copy')) The exception raised with i18n-ed string, while except statement checks for plain string. As a result, the exception is not caught on localized systems. Steps to reproduce: 1. Use localized Mercurial 2. Enable largefiles extension 3. On existing repository, try to rename any file: hg move foo bar Result: 1. The file is moved successfully 2. Extra message is printed, in its localized form: abort: no files to copy Expected result: No extra message is expected.
Wow, that "various" guy introduced a lot of funny code in cfccd3bee7b3 :-)
Yeah, no kidding. You just can't trust that guy . . .
Discussion: http://mercurial.markmail.org/thread/hdeu44exiyzphpx6
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:26 EDT --- This bug was previously known as _bug_ 3196 at http://mercurial.selenic.com/bts/issue3196 Bug Status was UNCONFIRMED but everconfirmed was true Setting status to CONFIRMED
Fixed by http://selenic.com/repo/hg/rev/c4ebdc36c17e Matt Mackall <mpm@selenic.com> largefiles: fix exception hack for i18n (issue3197) Properly fixing this is quite a bit trickier. (please test the fix)
Mass close old bugs in testing.