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.
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:39 -0500] rev 11757
httprepo: decompress stream incrementally to reduce memory usage
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:33 -0500] rev 11756
verify: initialize rp variable in case we hit out of memory
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:17 -0500] rev 11755
merge: drop reference to file contents after write
This reduces memory usage on large consecutive gets.
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:17 -0500] rev 11754
revlog: drop cache after use to save memory footprint
If we reconstruct back to back large versions, we need to drop the cache first to avoid doubling memory usage.
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:17 -0500] rev 11753
verify: reduce memory footprint when unpacking files
By never holding a reference to the unpacked string, we avoid holding two
consecutive large files in memory.
Matt Mackall <mpm@selenic.com> [Thu, 05 Aug 2010 16:17:17 -0500] rev 11752
verify: report exceptions that don't have a str() method
Matt Mackall <mpm@selenic.com> [Wed, 04 Aug 2010 13:21:11 -0500] rev 11751
color: fix test-diff-color breakage
Brodie Rao <brodie@bitheap.org> [Tue, 03 Aug 2010 13:02:11 -0400] rev 11750
hgcia/color: remove star imports
This plays nicer with demandimport and allows pyflakes to detect undefined
names.
Renato Cunha <renatoc@gmail.com> [Tue, 03 Aug 2010 13:59:14 -0300] rev 11749
hgfixes: added a fixer that makes bytes to be formatted correctly
This patch implement a fixer that replaces all calls to the '%' when bytes
arguments are used to a call to bytesformatter(), a function that knows how to
format byte strings. As one can't be sure if a formatting call is done when
only variables are used in a '%' call, these calls are also translated. The
bytesformatter, in runtime, makes sure to return the "raw" % operation if
that's what was intended.
Renato Cunha <renatoc@gmail.com> [Tue, 03 Aug 2010 13:52:48 -0300] rev 11748
py3kcompat: added a "compatibility layer" for py3k
This patch adds some ugly constructs. The first of them is bytesformatter, a
function that formats strings like when '%' is called. The main motivation for
this function is py3k's strange behavior:
>>> 'foo %s' % b'bar'
"foo b'bar'"
>>> b'foo %s' % b'bar'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes'
>>> b'foo %s' % 'bar'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for %: 'bytes' and 'str'
In other words, if we can't format bytes with bytes, and recall that all
mercurial strings will be converted by a fixer, then things will break badly if
we don't take a similar approach.
The other addition with this patch is that the os.environ dictionary is
monkeypatched to have bytes items. Hopefully this won't be needed in the
future, as python 3.2 might get a os.environb dictionary that holds bytes
items.
Renato Cunha <renatoc@gmail.com> [Tue, 03 Aug 2010 13:41:47 -0300] rev 11747
hgfixes: add a fixer to convert plain strings to bytestrings
This patch implements a 2to3 fixer that converts all plain strings in a python
source file to byte strings syntax. Example:
foo = 'Normal string'
would become
foo = b'Normal string'
The motivation behind this fixer can be found in
http://selenic.com/pipermail/mercurial-devel/2010-June/022363.html or, in other
words: the current hg source assumes that _most_ strings are "meant" to be byte
sequences, so it makes sense to make the convertion implemented by this patch.
As mentioned above, not all mercurial modules want to use strings as bytes,
examples include i18n (which uses unicode), and demandimport (in py3k, module
names are normal strings, thus unicode, and there's no need for a convertion).
Therefore, these modules are blacklisted in the fixer. There are also a few
functions that can take only unicode arguments, thus the convertion shouldn't
be done for those.
Vishakh H <vsh426@gmail.com> [Tue, 03 Aug 2010 19:38:19 +0530] rev 11746
revlog: add shallow header flag
REVLOGSHALLOW header flag to mark revlog as shallow.
The _shallow attribute of the revlog is used to check if the header flag is set.
Vishakh H <vsh426@gmail.com> [Tue, 03 Aug 2010 19:38:19 +0530] rev 11745
revlog: add punched revision flag
index flag to identify a revision as punched, i.e. it contains no data.
REVIDX_PUNCHED_FLAG = 2, is used to mark a revision as punched.
REVIDX_KNOWN_FLAGS is the accumulation of all index flags.
Matt Mackall <mpm@selenic.com> [Tue, 03 Aug 2010 00:10:28 -0500] rev 11744
tests: unify test-tags
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 23:43:06 -0500] rev 11743
tests: unify test-empty
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 23:29:14 -0500] rev 11742
tests: unify test-basic
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 23:27:22 -0500] rev 11741
tests: basic support for unified tests
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 15:44:54 -0500] rev 11740
tests: move script execution in runner helpers
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 13:31:43 -0500] rev 11739
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 13:30:03 -0500] rev 11738
Added signature for changeset
c00f03a4982e
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 13:30:03 -0500] rev 11737
Added tag 1.6.2 for changeset
c00f03a4982e
Wagner Bruna <wbruna@yahoo.com> [Mon, 02 Aug 2010 13:18:32 -0300] rev 11736
i18n-pt_BR: synchronized with
87dcf758309d
Wagner Bruna <wbruna@yahoo.com> [Mon, 02 Aug 2010 13:11:33 -0300] rev 11735
merge with i18n stable
Jens Bäckman <jens.backman@gmail.com> [Sun, 01 Aug 2010 22:43:13 +0200] rev 11734
i18n-sv: synchronized with
56b41b2cc690
Matt Mackall <mpm@selenic.com> [Mon, 02 Aug 2010 10:55:51 -0500] rev 11733
Merge with stable
Brodie Rao <brodie@bitheap.org> [Mon, 02 Aug 2010 10:48:31 -0400] rev 11732
color: call correct superclass method in write_err
Without this fix, any calls to write_err would go to stdout instead of
stderr, and calls during pushbuffer would cause unpack ValueErrors on
popbuffer.
timeless <timeless@gmail.com> [Fri, 30 Jul 2010 10:38:54 +0300] rev 11731
convert/progress: use plural and avoid retrieving
Matt Mackall <mpm@selenic.com> [Sun, 01 Aug 2010 16:02:56 -0500] rev 11730
qfinish: fix range logic for --applied
qbase:qtip can include non-mq csets, use qbase::qtip instead
timeless <timeless@gmail.com> [Tue, 20 Jul 2010 20:53:48 +0200] rev 11729
rebase/progress: Adding progress for rebasing
timeless <timeless@gmail.com> [Thu, 22 Jul 2010 18:47:46 +0300] rev 11728
record: count lines changed as the number of lines added or removed
per "record" hunk
Record deals in hunks which are tighter than traditional patch hunks,
really only a single run of additions/removals. Another addition, even a
line after a fixed line is treated as a new hunk by record.
Brodie Rao <brodie@bitheap.org> [Sun, 01 Aug 2010 16:26:02 -0400] rev 11727
color: pass write/write_err to win32print correctly (
issue2312)
Matt Mackall <mpm@selenic.com> [Sun, 01 Aug 2010 13:52:42 -0500] rev 11726
Merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Aug 2010 13:49:43 -0500] rev 11725
Added signature for changeset
bf1774d95bde
Matt Mackall <mpm@selenic.com> [Sun, 01 Aug 2010 13:49:42 -0500] rev 11724
Added tag 1.6.1 for changeset
bf1774d95bde
Matt Mackall <mpm@selenic.com> [Sun, 01 Aug 2010 08:54:30 -0500] rev 11723
Merge with stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 Aug 2010 01:54:31 -0300] rev 11722
i18n-pt_BR: synchronized with
db426935fa94
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 Aug 2010 01:51:21 -0300] rev 11721
Merge with stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 Aug 2010 01:46:58 -0300] rev 11720
i18n-pt_BR: synchronized with
0e789549271d
Jens Bäckman <jens@titv.se> [Sun, 25 Jul 2010 10:51:05 +0200] rev 11719
i18n-sv: synchronized with
c47cb3193c53
Matt Mackall <mpm@selenic.com> [Sat, 31 Jul 2010 18:27:03 -0500] rev 11718
help: fix bytes/digit confusion for hashes
spotted by FUJIWARA Katsunori <fujiwara@ascade.co.jp>
Matt Mackall <mpm@selenic.com> [Sat, 31 Jul 2010 18:12:50 -0500] rev 11717
Merge with stable
timeless <timeless@gmail.com> [Fri, 30 Jul 2010 10:32:24 +0300] rev 11716
progress: use gerund (updating) for merge progress
Gilles Moris <gilles.moris@free.fr> [Sat, 10 Jul 2010 21:23:00 +0200] rev 11715
qpush --move: move the right patch even with comment lines
88fc876a4833 caused that we find the index of the moving patch in self.series
but look it up in self.full_series. The difference between these is that
full_series also contains comment lines, and we thus moved the wrong patch.
Use back self.full_series to find the moving patch, but take care of striping
the patch guard markers before comparing the patch name. Test cases have been
added for comments and empty lines in self.full_series, and for the case of
guarded patches.
Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 11:41:58 +0900] rev 11714
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 11:41:42 +0900] rev 11713
perf: break down long line
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 11:36:24 +0900] rev 11712
dispatch: trailing whitespace
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 11:05:11 +0900] rev 11711
merge crew and main
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 11:04:33 +0900] rev 11710
merge crew and main
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 31 Jul 2010 10:50:29 +0900] rev 11709
mq: clarify the fact that qimport is trying to read a file
"hg qimport tip" would throw "abort: unable to read tip" before this.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 30 Jul 2010 10:07:46 +0900] rev 11708
revset: add min function
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 30 Jul 2010 14:41:47 +0900] rev 11707
runrst: try to be more helpful if docutils is not installed
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 29 Jul 2010 17:18:17 +0900] rev 11706
mq: correct qimport documentation
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 29 Jul 2010 12:10:22 +0900] rev 11705
merge with stable
Idan Kamara <idankk86@gmail.com> [Sat, 24 Jul 2010 11:20:21 +0300] rev 11704
bookmarks: don't allow name to contain whitespaces only
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 29 Jul 2010 10:39:59 +0900] rev 11703
context: reuse filecontext.cmp in workingfilecontext.cmp
Same code path should mean less mistakes, and hopefully, better
caching.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 27 Jul 2010 23:40:46 +0900] rev 11702
filectx: use cmp(self, fctx) instead of cmp(self, text)
This allows more flexibility in implementation, and in particular,
lets the context decide if revision text has to be loaded or not.
Patrick Mezard <pmezard@gmail.com> [Wed, 28 Jul 2010 11:07:20 +0200] rev 11701
mq: fix qimport --name --existing --force on win32
os.rename() does not overwrite existing targets on Windows.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 23 Jul 2010 23:43:43 +0900] rev 11700
mq: document possible combination of -e and -n for qimport
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 21 Jul 2010 11:53:09 +0900] rev 11699
mq: support "qimport --existing --name renametothis thatexistingpatch"
Before this change, the command would abort with a not too clear "patch
renametothis does not exist" error.
This change makes:
qimport --existing --name renametothis thatexistingpatch
equivalent to:
qimport --existing thatexistingpatch; qrename thatexistingpatch renametothis
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 24 Jul 2010 00:28:20 +0900] rev 11698
localrepo: refactor filter computation
Separate loading part from access part to be able to tell with:
repo._loadfilter(name)
bool(name in repo.filterpats)
if there is a 'name' filter available.
Matt Mackall <mpm@selenic.com> [Tue, 27 Jul 2010 16:04:00 -0500] rev 11697
Merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Jul 2010 16:03:42 -0500] rev 11696
Merge with crew
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 27 Jul 2010 14:43:40 +0200] rev 11695
alias: improved diagnostic when arguments include --cwd, etc.
The logic pre-emptively checks for -R, --repo, --repository and --cwd
in order to give the user a more helpful error message. In addition,
each option is handled invididually, which avoids listing them all in
the error.
Before:
% hg --config alias.broken='push --cwd /dev/null' broken
abort: Option --cwd may not be abbreviated!
After:
% hg --config alias.broken='push --cwd /dev/null' broken
error in definition for alias 'broken': --cwd may only be given on the command line
Pradeepkumar Gayam <in3xes@gmail.com> [Tue, 27 Jul 2010 20:50:09 +0530] rev 11694
perf: add perfrevlog function to check performance of revlog
Pradeepkumar Gayam <in3xes@gmail.com> [Tue, 27 Jul 2010 01:16:38 +0530] rev 11693
revlog: add a flags method that returns revision flags
Benjamin Pollack <benjamin@bitquabit.com> [Tue, 27 Jul 2010 14:40:25 -0400] rev 11692
tag: do not allow tag names to consist solely of whitespace (
issue2307)
(simplification and test by mpm)
Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 21:20:05 -0500] rev 11691
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Tue, 20 Jul 2010 15:49:28 +0200] rev 11690
convert: warn on superfluous / in paths
shlex is really a bad parser for this line-based format ...
David Soria Parra <dsp@php.net> [Sat, 24 Jul 2010 22:15:22 +0200] rev 11689
inotify: remove unused variable
Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 17:18:35 -0500] rev 11688
convert: handle closed branch heads in hg-hg conversion (
issue2185)
Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 17:10:32 -0500] rev 11687
check-code: add warning on lines over 80 characters
Patrick Mezard <pmezard@gmail.com> [Mon, 26 Jul 2010 23:26:15 +0200] rev 11686
debugbuilddag: build repository content in binary mode
Patrick Mezard <pmezard@gmail.com> [Mon, 26 Jul 2010 22:29:49 +0200] rev 11685
cleanup: typos
Patrick Mezard <pmezard@gmail.com> [Mon, 26 Jul 2010 22:29:17 +0200] rev 11684
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com> [Mon, 26 Jul 2010 22:28:37 +0200] rev 11683
dispatch: write Abort hint to stderr too
Patrick Mezard <pmezard@gmail.com> [Mon, 26 Jul 2010 22:26:12 +0200] rev 11682
bookmarks: sort diffbookmarks() output
Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 21:20:05 -0500] rev 11681
Merge with stable