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".
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 09 Jul 2010 11:59:48 +0900] rev 11538
workingfilectx.cmp: invert boolean return value
Apparently we mostly used filectx.cmp(workingfilectx.read()), so no error
was ever triggered, but since all cmp() methods return True when content
are different, that == should in fact be !=
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 12 Jul 2010 19:04:07 +0900] rev 11537
rebase: small cosmetic cleanups
Giorgos Keramidas <keramida@ceid.upatras.gr> [Mon, 12 Jul 2010 09:19:28 +0300] rev 11536
rebase: add a test for committed MQ patches (
59bd20451ab6)
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:40 -0300] rev 11535
util.h: Defined macros for working "with" PyStrings in py3k.
PyString* functions are defined as PyUnicode* to permit correct compilation in
both python 2.x and 3.x.
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:38 -0300] rev 11534
util.h: Add a PyInt_AsLong definition for usage in the inotify module.
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:36 -0300] rev 11533
setup.py: Add 'mercurial' as include dir for the inotify compiler.
This patch adds access to util.h for the inotify C module by adding the
"mercurial" directory as an include dir, enabling access to the macros defined
in util.h.
Renato Cunha <renatoc@gmail.com> [Fri, 02 Jul 2010 16:21:34 -0300] rev 11532
setup.py: Adjustments to make setup.py run in py3k.
In py3k, subprocess.Popen.communicate's output are bytes objects. String
literals are Unicode objects. Thus, when a bytes object startswith method is
called, with string literals, it fails. What this patch does is:
* Convert the string (unicode in py3k) literals to bytes objects;
* As "bytes" is not a builtin in python < 2.6, it defines a "b" helper
function that merely returns its argument, as suggested by Antoine Pitrou.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 13 Jul 2010 20:12:32 +0900] rev 11531
rebase: re-add patches to mq repo after rebase
Since
1b82a26635d7, we are adding patches after the qimport call, and not
inside it anymore. Correct updatemq to match the new behaviour.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 12 Jul 2010 17:55:23 +0900] rev 11530
mq: reset self.added after the mq transaction instead of inside qimport
It seems wiser to reset mq.added at the end of the mq transaction instead of at
the beginning of a qimport call: this way, calling several times qimport()
without saving mq state in-between does not overwrite the previous value of
mq.added (this happens, for example in rebase, where we import several patches
in a batch before calling .save_dirty() )
Matt Mackall <mpm@selenic.com> [Mon, 12 Jul 2010 17:27:32 -0500] rev 11529
Merge with stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 10 Jul 2010 14:28:38 -0300] rev 11528
i18n-pt_BR: synchronized with
dec57aa0f8ca
Wagner Bruna <wbruna@yahoo.com> [Sat, 10 Jul 2010 14:01:10 -0300] rev 11527
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 08 Jul 2010 15:36:14 -0300] rev 11526
i18n-pt_BR: synchronized with
9d905b9769af
Martin Geisler <mg@aragost.com> [Fri, 09 Jul 2010 14:21:45 +0200] rev 11525
Merge with stable
Steve Losh <steve@stevelosh.com> [Wed, 07 Jul 2010 18:49:43 -0400] rev 11524
dispatch: add shell aliases
This patch adds git-style "shell aliases" to Mercurial.
Any alias with a definition beginning with a '!' will be treated as a shell
alias. For example:
[alias]
echo = !echo
qempty = !hg qrefresh -X "`hg root`" ; echo Emptied patch "`hg qtop`"
$ hg echo foo
foo
$ hg qempty
Emptied patch foo
$
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Jul 2010 15:44:14 +0200] rev 11523
convert: cleanup of filemap help text
Clarify that:
- Specified paths are matched by comparing name of file or directory.
- Line order (thus) doesn't matter.
- Rename doesn't imply include.
Martin Geisler <mg@aragost.com> [Fri, 09 Jul 2010 14:01:55 +0200] rev 11522
check-code: add test for callable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 09 Jul 2010 11:04:00 +0200] rev 11521
extensions: add a few assertions to wrapfunction() and wrapcommand().
Specifically, assert that the given wrapper is callable in both
functions, and assert that the original was also callable in
wrapfunction().