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
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:22:59 -0300] rev 11549
inotify: Port of the C module to py3k.
This patch accomplishes the port of the inotify C module to py3k by #including
mercurial's util.h file, and by defining the necessary boilerplate code
required by py3k through conditional compilation.
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:46 -0300] rev 11548
inotify: Better implementation of the event string representation.
This patch reimplements the event_repr function. It got mostly rewritten to
eliminate the need for conditional compilation of the module when building in
py3k. The trick there (thanks to Antoine Pitrou) is to use the % operator to
let the python interpreter format the string to be returned.
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:42 -0300] rev 11547
inotify: make proper use of Python API to get object size.
In older python versions, it was ok to access an object's type by accessing its
ob_type "member". With python 2.6+, the proper way of accessing it is via
Py_TYPE(object). This patch implements the correct call for the inotify
extension. When under python < 2.6, this macro is defined in mercurial's
util.h.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 13 Jul 2010 22:30:01 +0900] rev 11546
mq: qrepo.add(mq.added) inside save_dirty inside of doing it manually
This should make the MQ API more transparent: callers only have to
call save_dirty, and no mq.added magic or knowledge is required.
Renato Cunha <renatoc@gmail.com> [Tue, 06 Jul 2010 22:22:18 -0300] rev 11545
inotify: check all components of filenames against hgignore (
issue884)
With inotify enabled, files that should be ignored could be detected as
untracked by mercurial. This behavior was wrong because inotify's filestatus
implementation only matched filenames against ignore patterns, instead of
checking if other elements of their paths matched them. This patch fixes the
behavior by checking the file paths against the ignore patterns.
A new test has also been added to the main inotify test to prevent any
regressions.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 02 Jul 2010 15:05:21 +0900] rev 11544
hg.clone: fix branch value when passing a repo object (
issue2267)
Since
3d6915f5a2bb the branch argument for addbranchrevs should be a tuple:
(hashbranch, branches)
The right empty value therefore is (None, []) instead of None.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 06 Jul 2010 15:05:03 +0900] rev 11543
test-bheads: use a case-insensitive set of filenames (
issue2274)
This prevents false negatives on case-insensitive systems.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 06 Jul 2010 18:24:04 +0900] rev 11542
mail: ensure that Python2.4 to 2.7 use the same header format
Wrapping format for long headers changed in Python2.7 (see Python
issue1974).
Adopt the Python2.7 behaviour and backport it for 2.4-2.6
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 05 Jul 2010 19:49:54 +0900] rev 11541
filelog: cmp: don't read data if hashes are identical (
issue2273)
filelog.renamed() is an expensive call as it reads the filelog if p1 == nullid.
It's more efficient to first compute the hash, and to bail early if
the computed hash is the same as the stored nodeid.
'samehashes' variable is not strictly necessary, but helps for comprehension.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 05 Jul 2010 18:43:46 +0900] rev 11540
filelog: test behaviour for data starting with "\1\n"
Because "\1\n" is a separator for metadata, data starting with "\1\n" is
handled specifically. It was not tested.
size() call return incorrect data if original data had been "\1\n-escaped".
There's no obvious way to fix it for now, just flag the error in the code
and add an "expected failure" kind of test.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 09 Jul 2010 11:02:39 +0900] rev 11539
cmp: document the fact that we return True if content is different
This is similar to the __builtin__.cmp behaviour, but still not
straightforward, as the dailylife meaning of a comparison usually is
"find out if they are different".