Wed, 14 Jul 2010 22:59:43 -0300 util: improved the check for the existence of the 'buffer' builtin
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.
Wed, 14 Jul 2010 22:58:29 -0300 record: removed 'has_key' usage
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.
Wed, 14 Jul 2010 21:30:50 +0200 Merge with stable
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 21:30:50 +0200] rev 11563
Merge with stable
Thu, 08 Jul 2010 22:44:15 +0200 test-log: Add test for "hg log -pf" (issue647) 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>
Wed, 14 Jul 2010 11:02:20 -0400 bookmarks: ensure current bookmark is updated when specified with -r . stable
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".
Wed, 14 Jul 2010 20:25:31 +0200 subrepos: let caller specify a filename for SVN commands
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11560
subrepos: let caller specify a filename for SVN commands
Wed, 14 Jul 2010 20:25:31 +0200 subrepo: add abstract superclass for subrepo classes
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11559
subrepo: add abstract superclass for subrepo classes
Wed, 14 Jul 2010 20:25:31 +0200 archival: remove prefix argument from archivers
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).
Wed, 14 Jul 2010 20:25:31 +0200 archival: move commands.archive.guess_type to archival.guesskind
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.
Wed, 14 Jul 2010 20:41:01 +0200 merge stable to default
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 20:41:01 +0200] rev 11556
merge stable to default
Thu, 01 Jul 2010 19:23:26 -0500 color/progress: subclass ui instead of using wrapfunction (issue2096) stable
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).
Wed, 14 Jul 2010 19:44:49 +0200 merge with stable
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:44:49 +0200] rev 11554
merge with stable
Wed, 14 Jul 2010 19:44:12 +0200 merge crew and main
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:44:12 +0200] rev 11553
merge crew and main
Wed, 14 Jul 2010 19:43:31 +0200 merge crew and main stable
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:43:31 +0200] rev 11552
merge crew and main
Tue, 13 Jul 2010 17:30:29 +0200 commands: addremove does similarity 100 by default
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 13 Jul 2010 17:30:29 +0200] rev 11551
commands: addremove does similarity 100 by default
Tue, 13 Jul 2010 22:56:01 +0900 merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 13 Jul 2010 22:56:01 +0900] rev 11550
merge with stable
Fri, 02 Jul 2010 16:22:59 -0300 inotify: Port of the C module to py3k.
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.
Fri, 02 Jul 2010 16:21:46 -0300 inotify: Better implementation of the event string representation.
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.
Fri, 02 Jul 2010 16:21:42 -0300 inotify: make proper use of Python API to get object size.
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.
Tue, 13 Jul 2010 22:30:01 +0900 mq: qrepo.add(mq.added) inside save_dirty inside of doing it manually stable
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.
Tue, 06 Jul 2010 22:22:18 -0300 inotify: check all components of filenames against hgignore (issue884) stable
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.
Fri, 02 Jul 2010 15:05:21 +0900 hg.clone: fix branch value when passing a repo object (issue2267) stable
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.
Tue, 06 Jul 2010 15:05:03 +0900 test-bheads: use a case-insensitive set of filenames (issue2274) stable
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.
Tue, 06 Jul 2010 18:24:04 +0900 mail: ensure that Python2.4 to 2.7 use the same header format stable
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
Mon, 05 Jul 2010 19:49:54 +0900 filelog: cmp: don't read data if hashes are identical (issue2273) stable
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.
Mon, 05 Jul 2010 18:43:46 +0900 filelog: test behaviour for data starting with "\1\n" stable
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.
Fri, 09 Jul 2010 11:02:39 +0900 cmp: document the fact that we return True if content is different stable
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".
Fri, 09 Jul 2010 11:59:48 +0900 workingfilectx.cmp: invert boolean return value stable
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 !=
Mon, 12 Jul 2010 19:04:07 +0900 rebase: small cosmetic cleanups stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 12 Jul 2010 19:04:07 +0900] rev 11537
rebase: small cosmetic cleanups
Mon, 12 Jul 2010 09:19:28 +0300 rebase: add a test for committed MQ patches (59bd20451ab6) stable
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)
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip