Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 12 Aug 2010 14:53:34 +0900] rev 11781
tests: catch re.error if test line is not a valid regular expression
Martin Geisler <mg@aragost.com> [Wed, 11 Aug 2010 12:30:18 +0200] rev 11780
Merge with stable
Martin Geisler <mg@aragost.com> [Wed, 11 Aug 2010 12:29:20 +0200] rev 11779
convert: less shouting in SVN sink warning
Daniel J. Lauk <daniel.lauk@gmail.com> [Wed, 11 Aug 2010 11:46:06 +0200] rev 11778
convert: Using --dest-type svn crashed, if the source repo used tags.
The convert extension requires puttags(self, tags) to return a sequence
for a multi-variable assignment. If puttags implicitly returns None,
the code will break when trying to un-pack None for assignment.
Martin Geisler <mg@aragost.com> [Wed, 11 Aug 2010 12:21:27 +0200] rev 11777
commands: use round parenthesis in 'hg head --active' help
This is the style used in the rest of the help strings.
Martin Geisler <mg@aragost.com> [Wed, 11 Aug 2010 12:19:01 +0200] rev 11776
graphlog: mark --branch as incompatible with --graph
The --only-branch option was deprecated in
0d5f139b23c1 and --branch
was added instead. But the graphlog extension was not updated to match
the change.
Martin Geisler <mg@lazybytes.net> [Thu, 15 Jul 2010 18:10:05 +0200] rev 11775
subrepos: support remapping of .hgsub source paths
Given a .hgsub file containing
lib/libfoo = http://server/libfoo
the 'lib/libfoo' subrepo will be cloned from 'http://server/libfoo'.
This changeset introduces a remapping mechanism whereby the source
paths (the right-hand sides) in the .hgsub file can be remapped. This
subpaths section
[subpaths]
http://server = /local
will result in the 'lib/libfoo' subrepo being cloned from
'/local/libfoo' instead of from 'http://server/libfoo'.
The patterns (left-hand sides) are really regular expressions and the
replacement strings (right-hand sides) can refer to matched groups
using normal backreferences. This can be used for more complicated
replacements such as
[subpaths]
http://server/(.*)-hg/ = http://hg.server/\1/
which replaces 'http://server/foo-hg/' with 'http://hg.server/foo/'.
All patterns are applied in the order by which they are listed in the
config files.
Martin Geisler <mg@aragost.com> [Tue, 10 Aug 2010 16:55:38 +0200] rev 11774
bookmarks: replace var used as a Boolean with a Boolean
Matt Mackall <mpm@selenic.com> [Mon, 09 Aug 2010 16:55:53 -0500] rev 11773
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Aug 2010 21:43:39 +0200] rev 11772
test-dispatch: Make test of removed working directory work on AIX (
issue2315)
AIX sh won't delete its own working directory. Removing it from another process
works.
Also hide the actual OS error message - operating systems returns different
errors when getcwd fails.
Matt Mackall <mpm@selenic.com> [Mon, 09 Aug 2010 12:25:01 -0500] rev 11771
tests: only run check-code on tracked files
Martin Geisler <mg@aragost.com> [Mon, 09 Aug 2010 16:08:33 +0200] rev 11770
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 09 Aug 2010 15:31:56 +0200] rev 11769
dirstate: ignore symlinks when fs cannot handle them (
issue1888)
When the filesystem cannot handle the executable bit, we currently
ignore it completely when looking for modified files. Similarly, it is
impossible to set or clear the bit when the filesystem ignores it.
This patch makes Mercurial treat symbolic links the same way.
Symlinks are a little different since they manifest themselves as
small files containing a filename (the symlink target). On Windows,
these files show up as regular files, and on Linux and Mac they show
up as real symlinks.
Issue1888 presents a case where the symlink files are better ignored
from the Windows side. A Linux client creates symlinks in a working
copy which is shared over a network between Linux and Windows clients.
The Samba server is helpful and defererences the symlink when the
Windows client looks at it. This means that Mercurial on the Windows
side sees file content instead of a file name in the symlink, and
hence flags the link as modified. Ignoring the change would be much
more helpful, similarly to how Mercurial does not report any changes
when executable bits are ignored in a checkout on Windows.
An initial checkout of a symbolic link on a file system that cannot
handle symbolic links will still result in a regular file containing
the target file name as its content. Sharing such a checkout with a
Linux client will not turn the file into a symlink automatically, but
'hg revert' can fix that. After the revert, the Windows client will
see the correct file content (provided by the Samba server when it
follows the link on the Linux side) and otherwise ignore the change.
Running 'hg perfstatus' 10 times gives these results:
Before: After:
min: 0.544703 min: 0.546549
med: 0.547592 med: 0.548881
avg: 0.549146 avg: 0.548549
max: 0.564112 max: 0.551504
The median time is increased about 0.24%.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 08 Aug 2010 23:10:08 +0200] rev 11768
mq/qqueue: enable bash completion
Return the list of available queues when completion is attempted on qqueue.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 08 Aug 2010 22:49:01 +0200] rev 11767
mq/qqueue: --list does not print (active) with --quiet
For scripting purposes, it can be convenient to get a simple listing of
available queues, without indication of the active one.
--quiet documentation change removed by Patrick Mézard.
Patrick Mezard <pmezard@gmail.com> [Sun, 08 Aug 2010 22:29:39 +0200] rev 11766
Merge with stable
Yuya Nishihara <yuya@tcha.org> [Sat, 07 Aug 2010 16:27:16 +0900] rev 11765
templatefilters: make json filter handle multibyte characters correctly
It aims to fix javascript error of hgweb's graph view in Japanese 'cp932'
encoding.
'cp932' contains multibyte characters ending with '\x5c' (backslash),
e.g. '\x94\x5c' for Japanese Kanji 'Noh'.
Due to json filter escapes '\' to '\\', multibyte string ending with
'\x5c' is translated to "xxx\", resulting javascript parse error on
a web browser.
This patch changes json() to pass unicode to jsonescape().
Unicode decoding error handler changed to 'replace' by Patrick Mézard.
Renato Cunha <renatoc@gmail.com> [Sat, 07 Aug 2010 16:13:53 -0300] rev 11764
check-code: added a check for calls to the builtin cmp function
Renato Cunha <renatoc@gmail.com> [Sat, 07 Aug 2010 16:12:51 -0300] rev 11763
manifest: removed usage of the global cmp function
Py3k doesn't have a global cmp() function, making this call problematic in the
py3k port. Also, calling cmp() here is not necessary, since we only want to
know if the two values are equal. A check for equality perfect in this case and
this patch does that.
Patrick Mezard <pmezard@gmail.com> [Sat, 07 Aug 2010 15:38:05 +0200] rev 11762
tests: run check-code.py on working directory files
If we insist on Mercurial sources to pass check-code.py, let automate the
process and make it part of the tests.
Objections?
Alecs King <alecsk@gmail.com> [Sat, 07 Aug 2010 12:55:30 +0800] rev 11761
minor style fix: hgext/rebase.py:157 -- line too long
found by a run of check-code
Yuya Nishihara <yuya@tcha.org> [Sat, 07 Aug 2010 15:32:33 +0900] rev 11760
zsh completions: add qpush --move option
Matt Mackall <mpm@selenic.com> [Fri, 06 Aug 2010 12:59:13 -0500] rev 11759
Merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 06 Aug 2010 12:18:33 -0500] rev 11758
chunkbuffer: use += rather than cStringIO to reduce memory footprint
This significantly refactors the read() loop to use a queue of chunks.
The queue is alternately filled to at least 256k and then emptied by
concatenating onto the output buffer.
For very large read sizes, += uses less memory because it can resize
the target string in place.