Martin Geisler <mg@lazybytes.net> [Fri, 04 Sep 2009 23:45:13 +0200] rev 9426
test-highlight: remove redundant test
Changeset 799373ff2554 is testing how a EUC-JP encoded Japanese file
is treated in different encodings, so the ISO-8859-1 encoded German
file is no longer needed.
Martin Geisler <mg@lazybytes.net> [Fri, 04 Sep 2009 23:34:51 +0200] rev 9425
Merge with crew-stable
Yuya Nishihara <yuya@tcha.org> [Sat, 29 Aug 2009 15:24:15 +0900] rev 9424
highlight: fixes garbled text in non-UTF-8 environment
This patch treats all files inside repository as encoded by
locale's encoding when pygmentize.
We can assume that most files are written in locale's encoding,
but current implementation treats them as UTF-8.
So there's no way to specify the encoding of files.
Current implementation, db7557359636 (issue1341):
1. Convert original `text`, which is treated as UTF-8, to locale's encoding.
`encoding.tolocal()` is the method to convert from internal UTF-8 to local.
If original `text` is not UTF-8, e.g. Japanese EUC-JP, some characters
become garbled here.
2. pygmentize, with no UnicodeDecodeError.
This patch:
1. Convert original `text`, which is treated as locale's encoding, to unicode.
Pygments prefers unicode object than raw str. [1]_
If original `text` is not encoded by locale's encoding, some characters
become garbled here.
2. pygmentize, also with no UnicodeDecodeError :)
3. Convert unicode back to raw str, which is encoded by locale's.
.. [1] http://pygments.org/docs/unicode/
Matt Mackall <mpm@selenic.com> [Mon, 31 Aug 2009 10:58:33 -0500] rev 9423
Make distinct lookup error for localrepo.lookup
This allows clone/share to correctly distinguish lookup errors from
corruption errors and catch only the former.
Martin Geisler <mg@lazybytes.net> [Fri, 04 Sep 2009 22:26:57 +0200] rev 9422
doc: add TOC to hg.1.html and hgrc.5.html
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Sep 2009 11:51:28 +0200] rev 9421
log: prevent negative date range from displaying entire log (issue1805)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 04 Sep 2009 10:47:55 +0200] rev 9420
manifest/revlog: do not let the revlog cache mutable objects
If a buffer of an mutable object is passed to revlog.addrevision(), the revlog
will happily store it in its cache. Later when the revlog reuses the cached
entry, if the manifest modified the object in-between, all kind of bugs
appears.
We fix it by:
- passing immutable objects to addrevision() if they are already available
- only storing the text in the cache if it's of str type
Then we can remove the conversion of the cache entry to str() during
retrieval. That was probably just there hiding the bug for the common cases
but not really fixing it.
Martin Geisler <mg@lazybytes.net> [Thu, 03 Sep 2009 21:40:45 +0200] rev 9419
doc/README: simplify instructions
Martin Geisler <mg@lazybytes.net> [Thu, 03 Sep 2009 21:36:44 +0200] rev 9418
doc: use our own rst2man.py script (issue1746)
The rst2man tool has not yet been part of an official Docutils
release, and it is not present in most distributions. This poses a
problem for people who want to install Mercurial from source, or who
want to create a Mercurial package for such a distribution -- how to
specify the build-dependencies?
By including the rst2man.py script with Mercurial people only need a
normal Docutils installation in order to install Mercurial.
Martin Geisler <mg@lazybytes.net> [Thu, 03 Sep 2009 21:07:06 +0200] rev 9417
util, minirst: do not crash with COLUMNS=0