Martin Geisler <mg@lazybytes.net> [Mon, 19 Jul 2010 00:41:41 +0200] rev 11613
cmdutil: fix accidental name clash with revrange function
The revrange function was used further up, and when a local variable
is defined with the same name, the earlier call to revrange becomes a
'local variable used before assignment' error.
The clash was introduced in 890ad9d6a169.
Steve Losh <steve@stevelosh.com> [Wed, 14 Jul 2010 18:28:12 -0400] rev 11612
commands: fix update's help to be more accurate
Branches can have multiple heads, so it doesn't make sense to speak of "the
head of the current branch". What update really does is try to update to the
*tip* of the current branch.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 18 Jul 2010 01:06:50 +0900] rev 11611
i18n: use encoding.colwidth() for correct column width
Some encoding and language combinations (e.g.: UTF-8 and Japanese)
cause encoding characters into sequence of bytes more than column
width of them.
So, encoding.colwidth() should be applied instread of len() on i18n
strings.
In addition to it, formatting by '%*s'/'%-*s' also uses "number of
bytes" to calculate space padding size, and should be fixed, too.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 18 Jul 2010 18:11:59 +0900] rev 11610
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 04 Jul 2010 18:07:30 +0900] rev 11609
log: slowpath: do not read the full changelog
When in the slowpath, we are examining _all_ changesets in revs.
We need to order reads so they happen increasingly for I/O performance.
Increasing windows were used to read changelog backwards in a windowed manner,
reading the changelog forward inside each window. But since no revision range
was specified, it was equivalent to reading the full changelog, even if a
single revision was passed to the commandline.
When --removed is used, we _need_ to scan all changesets, but if we're only
looking for file patterns, this is not necessary and we can stick to
the revspec that was given to us.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 18:11:15 +0900] rev 11608
log: remove increasing windows usage in fastpath
The purpose of increasing windows is to allow backwards iteration on the
filelog at a reasonable cost.
But is it needed?
- if follow is False, we have no reason to iterate backwards.
We basically just want to walk the complete filelog and yield all revisions
within the revision range. We can do this forward or
backwards, as it only reads the index.
- when follow is True, we need to examine the contents of the filelog, and to
do this efficiently we need to read the filelog forward.
And on the other hand, to track ancestors and copies, we need to process
revisions backwards. But is it necessary to use increasing windows
for this?
We can iterate over the complete filelog forward, stack the revisions, and
read the reversed(pile), it does the same thing with a more readable code.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 18:01:54 +0900] rev 11607
log: refactor: test for ranges inside filerevgen
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 17:58:48 +0900] rev 11606
log: refactor: compute the value of last outside of filerevgen
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 16 Jul 2010 16:33:55 +0900] rev 11605
context: use os.lstat instead of os.stat to fetch file size
When file is a link, we want the size of the link itself, not the size
of the file it points to.
Matt Mackall <mpm@selenic.com> [Fri, 16 Jul 2010 13:26:39 -0500] rev 11604
check-code: add --blame switch
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 18:35:15 +0200] rev 11603
changegroupsubset: remove unneeded cast to list
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:48:52 +0200] rev 11602
check-code: catch dict.has_key
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:45:52 +0200] rev 11601
Merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:44:30 +0200] rev 11600
mark ui.warn strings for translation
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:40:57 +0200] rev 11599
check-code: warn about untranslated ui.warn calls
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 13:38:33 +0200] rev 11598
localrepo: remove push_{unbundle,addchangegroup}(), factor it inside push()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 00:52:13 +0200] rev 11597
wireproto: refactor list of nodeid encoding / decoding
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 15:06:45 -0500] rev 11596
ssh: drop some old imports
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 15:05:04 -0500] rev 11595
protocol: move hgweb protocol support back into protocol.py
- introduce iscmd
- simplify error handling
- remove unneeded imports
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 13:56:52 -0500] rev 11594
protocol: unify server-side capabilities functions
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 11:24:42 -0500] rev 11593
protocol: unify unbundle on the server side
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:12:18 -0500] rev 11592
protocol: unify client unbundle support
- introduce _callpush helper
- factor out differences in result handling into helpers
- unify
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:09:31 -0500] rev 11591
protocol: unify client changegroup methods
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:07:13 -0500] rev 11590
protocol: convert some ssh abort calls
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:07:10 -0500] rev 11589
protocol: clean up call-like functions in http and ssh clients
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:55:44 -0500] rev 11588
protocol: unify stream_out client code
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:35:51 -0500] rev 11587
protocol: unify basic http client requests
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:34:57 -0500] rev 11586
protocol: move basic ssh client commands to wirerepository
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:19:27 -0500] rev 11585
protocol: unify stream_out command
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:43:20 -0500] rev 11584
protocol: unify changegroup commands
- add sendchangegroup protocol helpers
- handle commands with None results
- move changegroup commands into wireproto.py
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:33:21 -0500] rev 11583
protocol: add proto to method prototypes
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11582
protocol: use new wireproto infrastructure in ssh
- add protocol helper
- insert wireproto into dispatcher
- drop duplicate functions from hgweb implementation
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11581
protocol: introduce wireproto.py
- add a protocol-independent dispatcher
- move most of the basic commands from sshserver to wireproto
- dispatch through wireproto first
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11580
protocol: move most ssh responses to returns
Matt Mackall <mpm@selenic.com> [Mon, 12 Jul 2010 17:28:02 -0500] rev 11579
protocol: add ssh getargs
- introduce getargs
- make getarg a helper function
- update users
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:44:51 +0200] rev 11578
discovery: remove duplication for new remote head discovery
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:21:19 +0200] rev 11577
discovery: better coding style
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:20:32 +0200] rev 11576
discovery: simplify findoutgoing(), the updated_head stuff wasn't used
Brendan Cully <brendan@kublai.com> [Thu, 15 Jul 2010 10:41:41 -0700] rev 11575
mq: evaluate --user before invoking editor with -e (issue2289)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 14:41:22 +0200] rev 11574
Abort: add a hint argument, printed in the next line inside parenthesis
discovery was using a custom made message for this purpose
push now returns -1 after aborting, instead of 1 previously
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 14:40:17 +0200] rev 11573
discovery: clarify comment
Martin Geisler <mg@lazybytes.net> [Thu, 15 Jul 2010 14:11:14 +0200] rev 11572
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 15 Jul 2010 13:24:02 +0200] rev 11571
subrepo: docstrings
Martin Geisler <mg@lazybytes.net> [Thu, 15 Jul 2010 14:02:17 +0200] rev 11570
gendoc: remove call to callable for py3k compatibility
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:15:03 -0300] rev 11569
check-code: added check for reduce usage
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:15:00 -0300] rev 11568
check-code: check for tuple parameter unpacking (missing in py3k)
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:03:21 -0300] rev 11567
removed exception args indexing (not supported by py3k)
Py3k removed __getitem__ for exception classes. The correct way of
getting the exception arguments is by using the args method.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:59:57 -0300] rev 11566
util: use fakebuffer as buffer in py3k
There's no buffer type in py3k, util.py has a function, called
fakebuffer, that implements a similar API. This patch implements
fakebuffer as a memoryview wrapper in py3k.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:59:43 -0300] rev 11565
util: improved the check for the existence of the 'buffer' builtin
2to3 is unable to translate '__builtin__' calls to 'builtins' when
hasattr is used (as in hasattr(__builtin__, buffer)). Translating the
check to the format
try:
whatever
except NameError
# define whatever
__builtin__.whatever = whatever
is a correct way of checking for the name and has the benefit of being
translated by 2to3. This patch implements the same idea for the
aforementioned example.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:58:29 -0300] rev 11564
record: removed 'has_key' usage
Py3k has removed the dictionary has_key method. This patch implements
a one argument function that can be used as a callback by hg.revert in
the record extension.
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 21:30:50 +0200] rev 11563
Merge with stable
Joel Rosdahl <joel@rosdahl.net> [Thu, 08 Jul 2010 22:44:15 +0200] rev 11562
test-log: Add test for "hg log -pf" (issue647)
To test f786fc4b8764 we analyze this repo:
0 | 1 | 2 | 3 | 4
a ------------> b
\
b -> dir/b -------> e
d
We follow dir/b and expects rev 0, 1 and 2.
A log following b will surprisingly report rev 0 and 1. That's because the
content and the parents are the same in rev 1 and rev 3, and the revlog entry
from rev 1 is thus reused in rev 3 even though the revlink is incorrect.
Note that if we follow e then we will get all revs, including rev 3, because b
gets added to the set of interesting filenames we are following through all
revisions. That might be surprising, but that's (currently) how it is.
Original test case by Joel Rosdahl <joel@rosdahl.net>
Original test reviewed by Nicolas Dumazet <nicdumz@gmail.com>
Brodie Rao <brodie@bitheap.org> [Wed, 14 Jul 2010 11:02:20 -0400] rev 11561
bookmarks: ensure current bookmark is updated when specified with -r .
"hg bookmark -r . foo" should be equivalent to "hg bookmark foo".
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11560
subrepos: let caller specify a filename for SVN commands
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11559
subrepo: add abstract superclass for subrepo classes
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11558
archival: remove prefix argument from archivers
When the archivers work on the full we can reuse the same archiver
with different prefixes (for different subrepositories).
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11557
archival: move commands.archive.guess_type to archival.guesskind
The list of suffixes for each kind of archive belongs in archival.
Renamed function to fit with out code style.
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 20:41:01 +0200] rev 11556
merge stable to default
Brodie Rao <brodie@bitheap.org> [Thu, 01 Jul 2010 19:23:26 -0500] rev 11555
color/progress: subclass ui instead of using wrapfunction (issue2096)
This resolves the issue of hg cmd --mq not being colorized. This was due
to color wrapping only the instance of ui passed to dispatch._runcommand(),
which isn't the same ui object that mq.mqcommand() receives. After dispatch
calls extensions.loadall(), it makes sure any changes to ui.__class__ in
uisetup are propagated.
progress is updated to wrap ui in the same manner because wrapfunction
doesn't play well when ui.__class__ has been replaced by another extension
(orig will point to the old class method instead of color's).
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:44:49 +0200] rev 11554
merge with stable
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:44:12 +0200] rev 11553
merge crew and main
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:43:31 +0200] rev 11552
merge crew and main
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 13 Jul 2010 17:30:29 +0200] rev 11551
commands: addremove does similarity 100 by default
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 13 Jul 2010 22:56:01 +0900] rev 11550
merge with stable