Mads Kiilerich <mads@kiilerich.com> [Thu, 10 Sep 2009 01:56:25 +0200] rev 9433
transplant: Add trailing LF in tmp file for filtering
Transplant filtering used a tmp file ending with the (stripped) commit
message and thus no final LF. Text files not ending with LF is usually
not used on Unix and is thus wrong ;-)
The missing LF had bad consequences because Solaris sed chokes on
unterminated input lines, so
echo -n foo|sed 's,o,0,g'
doesn't output anything, and the filter used in tests/test-transplant
thus stripped the last (and only) line in the message away on solaris.
Patrick Mezard <pmezard@gmail.com> [Sun, 06 Sep 2009 15:32:16 +0200] rev 9432
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 06 Sep 2009 15:29:14 +0200] rev 9431
convert: fix history topology when using hg.tagsbranch
When using hg.tagsbranch, all conversions fail at
transcribing the source repo topology with conversion
scenarios interleaving:
- initial repo conversion,
- then upstream tag
- then later incremental conversion
The problem is caused by the usage of the last source
revid as source revid for the tagnode in the revision
map.
On a later incremental conversion, when resolving some
child commit of the true last source revid, convert
will parent the nodes to the tag node. If using
tagsbranch you get a bad topology where all incremental
commit nodes end up in the tag branch.
Analysis and test by Edouard Gomez <ed.gomez@free.fr>
Patrick Mezard <pmezard@gmail.com> [Sat, 05 Sep 2009 19:39:46 +0200] rev 9430
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sat, 05 Sep 2009 18:56:51 +0200] rev 9429
merge: exclude common ancestor from --preview (
issue1818)
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 27 Aug 2009 11:55:21 +0200] rev 9428
inotify: _inotify.c: bugfix: remove_watch has to return PyNone on success
We are not currently using that API function in inotify, hence the reason
for the "silent" bug. But returning NULL here causes the interpreter to crash.
Let's keep code clean for reusers :)
The whole "bail" logic was unneeded here.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 27 Aug 2009 14:15:04 +0200] rev 9427
parsers.c: parse_manifest: fixing refcount of flags
When flags was DECREF'ed, scope was referencing to the outer variable,
outside of the block.
It was in fact always NULL: the real Python object was never decref'ed.
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
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 03 Sep 2009 02:42:56 +0200] rev 9416
manifestdict: remove unnecessary dictionary copy
No need to copy the dict, dict.__init__() will do that for us.
It was responsible for a non-negligeable waste of time during a qpush of an
-mm queue on the kernel repo.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 02 Sep 2009 21:05:43 +0200] rev 9415
manifest.add(): cleanup worklist construction and iteration
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 02 Sep 2009 21:05:01 +0200] rev 9414
manifest: simplify cache handling, use a unique cache
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 02 Sep 2009 20:18:35 +0200] rev 9413
manifest.add(): simplify with iterators and generator expressions
Martin Geisler <mg@lazybytes.net> [Sat, 29 Aug 2009 00:30:03 +0200] rev 9412
color: do all setup in uisetup
Now that extensions are loaded in phases, we are guaranteed to always
find mq in uisetup with extensions.find and we know that the mq
commands are not yet copied into commands.table.
Simon Heimberg <simohe@besonet.ch> [Sun, 16 Aug 2009 00:41:24 +0200] rev 9411
extensions: pass ui arguement to extsetup if accepted
Martin Geisler <mg@lazybytes.net> [Sat, 29 Aug 2009 00:29:16 +0200] rev 9410
extensions: load and configure extensions in well-defined phases
Extensions are now loaded with a call-graph like this:
dispatch._dispatch
extensions.loadall
extensions.load
# add foo module to extensions._extensions
extensions.load
# add bar module to extensions._extensions
foo.uisetup(ui)
bar.uisetup(ui)
foo.extsetup()
bar.extsetup()
commands.table.update(foo.cmdtable)
commands.table.update(bar.cmdtable)
hg.repository
foo.reposetup(ui, repo)
bar.reposetup(ui, repo)
The uisetup calls could easily be moved out to dispatch._dispatch, but
have been kept in extensions.loadall since at least TortoiseHg calls
extensions.loadall and expects it to call uisetup.
The extensions.load function called uisetup. It now has an unused ui
argument which has been kept for backwards compatibility.
Martin Geisler <mg@lazybytes.net> [Fri, 28 Aug 2009 22:14:04 +0200] rev 9409
highlight: move code from module top-level into extsetup
Martin Geisler <mg@lazybytes.net> [Fri, 28 Aug 2009 20:53:03 +0200] rev 9408
run-tests: standardize on --foo instead of -f/--foo
We write -f/--foo in Mercurial help texts (docstrings), but I think it
looks strange in error messages.
Martin Geisler <mg@lazybytes.net> [Fri, 28 Aug 2009 20:50:54 +0200] rev 9407
run-tests: use parser.error for cmdline option errors
Martin Geisler <mg@lazybytes.net> [Fri, 28 Aug 2009 20:28:06 +0200] rev 9406
doc/README: rst2man is now in Docutils proper
Mads Kiilerich <mads@kiilerich.com> [Thu, 20 Aug 2009 23:35:46 +0200] rev 9405
doc/Makefile: detect the right name for rst2man and rst2html
docutils uses the .py extension on the commands, and so do their installer.
Distribution packages might strip the .py, but the official name should work too.
Martin Geisler <mg@lazybytes.net> [Thu, 27 Aug 2009 00:01:03 +0200] rev 9404
Merge with crew-stable
Martin Geisler <mg@lazybytes.net> [Thu, 27 Aug 2009 00:00:15 +0200] rev 9403
test-keyword: update output to match
5d49fdef6fd0
Dirkjan Ochtman <dirkjan@ochtman.nl> [Wed, 26 Aug 2009 14:58:09 +0200] rev 9402
hgweb: show diff header line in raw diffs
Mads Kiilerich <mads@kiilerich.com> [Thu, 20 Aug 2009 23:35:47 +0200] rev 9401
doc/Makefile: Don't show Makefile comments in output
The comments makes sense when editing Makefile, but not when watching its
output where it looks too much like error messages.
Mads Kiilerich <mads@kiilerich.com> [Thu, 20 Aug 2009 23:35:37 +0200] rev 9400
doc/Makefile: detect rst2man errors
Make couldn't detect rst2man errors when it wasn't the last command, so empty
man page files would be installed.
Mads Kiilerich <mads@kiilerich.com> [Wed, 19 Aug 2009 00:45:24 +0200] rev 9399
test-hooks: Don't hide the value of HG_PENDING
Hiding the value of HG_PENDING made it less obvious what was going on in case
of test failure
Brodie Rao <me+hg@dackz.net> [Tue, 18 Aug 2009 14:47:41 -0400] rev 9398
ui: fix NameError in ui.progress due to unit/units typo
Simon Heimberg <simohe@besonet.ch> [Wed, 29 Jul 2009 14:21:18 +0200] rev 9397
util: quicker fspath, do not lower names when the length is different
Simon Heimberg <simohe@besonet.ch> [Fri, 07 Aug 2009 15:40:51 +0200] rev 9396
test-casefolding: fix wrong case on hfs on linux
on linux hfs keeps the old case of the file stored
force it by renameing to another name and back
Simon Heimberg <simohe@besonet.ch> [Fri, 07 Aug 2009 15:34:54 +0200] rev 9395
hghave: check for case insensitive filesystem in current dir
check was done on TEMP
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 15 Aug 2009 21:19:57 +0900] rev 9394
run-tests: expand --tmpdir and create it if needed
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 23 Aug 2009 14:32:58 +0200] rev 9393
patch: remove the unused, broken reverse() function
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 24 Aug 2009 14:40:21 +0200] rev 9392
patch: readgitpatch: remove unused variable 'src'
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 24 Aug 2009 21:00:34 +0200] rev 9391
use 'x in dict' instead of 'dict.has_key(x)'
"in" is faster, and has_key will be removed in py3k
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 26 Aug 2009 13:07:27 +0200] rev 9390
churn: use genexps now that we dropped 2.3 compatibility
Dirkjan Ochtman <dirkjan@ochtman.nl> [Wed, 26 Aug 2009 13:05:51 +0200] rev 9389
merge with crew-stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 24 Aug 2009 12:47:44 +0200] rev 9388
churn:
issue833 was reintroduced in
9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 22 Aug 2009 19:40:15 +0200] rev 9387
templatefilters: indent: do not compute text.endswith('\n') in each iteration
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 22 Aug 2009 15:47:03 +0200] rev 9386
util: canonpath: simplify logic
if root == os.sep, then endswithsep(root) is True as well: one test is enough
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Aug 2009 13:03:10 +0200] rev 9385
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Aug 2009 11:32:44 +0200] rev 9384
test-parse-date: test 12-hours time formats (
issue1804)
Carey Evans <carey@carey.geek.nz> [Fri, 21 Aug 2009 21:52:57 +1200] rev 9383
util: Fix date format for 12-hour time.
Mads Kiilerich <mads@kiilerich.com> [Sat, 22 Aug 2009 15:36:52 +0200] rev 9382
test-command-template: Don't diff files with same content
Solaris diff will report "No differences encountered" on stdout
Martin Geisler <mg@lazybytes.net> [Sat, 22 Aug 2009 10:52:53 +0200] rev 9381
Merge with crew-stable
Martin Geisler <mg@lazybytes.net> [Sat, 22 Aug 2009 10:50:29 +0200] rev 9380
hgrc.5: document %unset directive
Dirkjan Ochtman <dirkjan@ochtman.nl> [Sat, 22 Aug 2009 10:25:50 +0200] rev 9379
merge with crew-stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 21 Aug 2009 14:17:23 +0200] rev 9378
dirstate.write: don't ignore stat data if mtime is in the future (
issue1790)
This change narrows the race guard that was introduced by
af3f26b6bba4
("dirstate: ignore stat data for files that were updated too recently")
to not discard the _map entry's stat data if the mtime is in the future.
Without this change, status locks files having odd mtimes in the future
into the 'unset' state, causing needless file compares later (admittedly
harmless), but also inflicting highly irritating sticky effects on
tools/plugins that directly read .hg/dirstate (e.g. TortoiseHg).