Sat, 12 May 2012 20:25:33 +0200 parsers: strictly check for 20-byte hashes where they're required stable
Bryan O'Sullivan <bryano@fb.com> [Sat, 12 May 2012 20:25:33 +0200] rev 16679
parsers: strictly check for 20-byte hashes where they're required
Sat, 12 May 2012 22:12:54 +0200 templater: handle SyntaxError when parsing ui.logtemplate stable
Martin Geisler <martin@geisler.net> [Sat, 12 May 2012 22:12:54 +0200] rev 16678
templater: handle SyntaxError when parsing ui.logtemplate Before, Mercurial would crash with a traceback ending with SyntaxError: unmatched quotes if you configured [ui] logtemplate = {rev}\n The SyntaxError is now catched and the string is re-parsed without requiring quotes.
Tue, 08 May 2012 15:31:14 -0300 i18n-pt_BR: synchronized with 95ca6c8b38da stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 08 May 2012 15:31:14 -0300] rev 16677
i18n-pt_BR: synchronized with 95ca6c8b38da
Fri, 11 May 2012 18:41:04 +0200 progress: fix indentation
Martin Geisler <mg@lazybytes.net> [Fri, 11 May 2012 18:41:04 +0200] rev 16676
progress: fix indentation
Fri, 11 May 2012 15:13:13 +0200 test-progress: fix whitespace typo
Martin Geisler <mg@lazybytes.net> [Fri, 11 May 2012 15:13:13 +0200] rev 16675
test-progress: fix whitespace typo
Sat, 12 May 2012 13:20:26 +0200 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 12 May 2012 13:20:26 +0200] rev 16674
merge with stable
Wed, 25 Apr 2012 01:35:39 +0200 tests: unify the last sh tests
Mads Kiilerich <mads@kiilerich.com> [Wed, 25 Apr 2012 01:35:39 +0200] rev 16673
tests: unify the last sh tests This requires a slightly smarter check-code check for sed output filtering.
Wed, 25 Apr 2012 01:35:39 +0200 tests: run most check-code sh checks on continued lines too
Mads Kiilerich <mads@kiilerich.com> [Wed, 25 Apr 2012 01:35:39 +0200] rev 16672
tests: run most check-code sh checks on continued lines too Some false errors are degraded to warnings and whitelisted.
Fri, 11 May 2012 15:09:06 +0200 merge with main
Martin Geisler <mg@lazybytes.net> [Fri, 11 May 2012 15:09:06 +0200] rev 16671
merge with main
Fri, 11 May 2012 13:42:37 +0200 children: use hg reST role for example
Martin Geisler <mg@lazybytes.net> [Fri, 11 May 2012 13:42:37 +0200] rev 16670
children: use hg reST role for example
Fri, 11 May 2012 04:42:29 -0500 fetch: mark extension as deprecated
Augie Fackler <raf@durin42.com> [Fri, 11 May 2012 04:42:29 -0500] rev 16669
fetch: mark extension as deprecated
Fri, 11 May 2012 06:15:46 -0500 children: mark extension as deprecated
Augie Fackler <raf@durin42.com> [Fri, 11 May 2012 06:15:46 -0500] rev 16668
children: mark extension as deprecated
Fri, 11 May 2012 14:00:51 +0200 extensions: don't suggest commands from deprecated extensions
Martin Geisler <mg@lazybytes.net> [Fri, 11 May 2012 14:00:51 +0200] rev 16667
extensions: don't suggest commands from deprecated extensions
Fri, 11 May 2012 04:33:33 -0500 extensions: fix documentation of disabledcmd return value
Augie Fackler <raf@durin42.com> [Fri, 11 May 2012 04:33:33 -0500] rev 16666
extensions: fix documentation of disabledcmd return value
Sat, 12 May 2012 10:55:08 +0200 revlog: speed up prefix matching against nodes
Bryan O'Sullivan <bryano@fb.com> [Sat, 12 May 2012 10:55:08 +0200] rev 16665
revlog: speed up prefix matching against nodes The radix tree already contains all the information we need to determine whether a short string is an unambiguous node identifier. We now make use of this information. In a kernel tree, this improves the performance of "hg log -q -r24bf01de75" from 0.27 seconds to 0.06.
Sat, 12 May 2012 10:55:08 +0200 parsers: ensure that nullid is always present in the radix tree
Bryan O'Sullivan <bryano@fb.com> [Sat, 12 May 2012 10:55:08 +0200] rev 16664
parsers: ensure that nullid is always present in the radix tree
Sat, 12 May 2012 10:55:07 +0200 parsers: allow hex keys
Bryan O'Sullivan <bryano@fb.com> [Sat, 12 May 2012 10:55:07 +0200] rev 16663
parsers: allow hex keys
Sat, 12 May 2012 12:23:49 +0200 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 12 May 2012 12:23:49 +0200] rev 16662
merge with stable
Sat, 12 May 2012 10:20:57 +0200 revset: add function for matching extra data (issue2767)
Henrik Stuart <hg@hstuart.dk> [Sat, 12 May 2012 10:20:57 +0200] rev 16661
revset: add function for matching extra data (issue2767)
Fri, 11 May 2012 18:51:35 +0200 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com> [Fri, 11 May 2012 18:51:35 +0200] rev 16660
graft: implement --log (issue3438)
Sat, 12 May 2012 00:24:07 +0200 phase: make if abort on nullid for the good reason
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:24:07 +0200] rev 16659
phase: make if abort on nullid for the good reason The good reason being you cannot call retractboundary() on nullid, not revset.set() cannot resolve '-1'.
Sat, 12 May 2012 00:24:07 +0200 phases: make advance/retractboundary() atomic
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:24:07 +0200] rev 16658
phases: make advance/retractboundary() atomic Before this, if advanceboundary() failed after updating some roots but before calling retractboundary(), the phase cache would be left in an invalid state, marked dirty, and written as such. This patch approach is to turn advance/retractboundary() into phasecache methods, then operate on copies and merge them back on success. With the same technique, we can ensure the atomicity of combinations of advance/retractboundary() calls, like those performed in changegroup handling code.
Sat, 12 May 2012 00:24:07 +0200 phases: introduce phasecache
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:24:07 +0200] rev 16657
phases: introduce phasecache The original motivation was changectx.phase() had special logic to correctly lookup in repo._phaserev, including invalidating it when necessary. And at other places, repo._phaserev was accessed directly. This led to the discovery that phases state including _phaseroots, _phaserev and _dirtyphase was manipulated in localrepository.py, phases.py, repair.py, etc. phasecache helps encapsulating that. This patch replaces all phase state in localrepo with phasecache and adjust related code except for advance/retractboundary() in phases. These still access to phasecache internals directly. This will be addressed in a followup.
Sat, 12 May 2012 00:19:30 +0200 mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:19:30 +0200] rev 16656
mq: introduce mq.check setting When: [mq] check = True is set, qpush, qpop and qgoto behave as if -c/--check were passed. If incompatible options like -f/--force or --exact are set, this setting is ignored. This setting enables what many users expect mq default behaviour to be.
Sat, 12 May 2012 00:19:30 +0200 mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:19:30 +0200] rev 16655
mq: introduce qgoto --check
Sat, 12 May 2012 00:19:30 +0200 mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:19:30 +0200] rev 16654
mq: introduce qpush --check qpush --check let you qpush with uncommitted files not overlapping patched files.
Sat, 12 May 2012 00:19:30 +0200 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu> [Sat, 12 May 2012 00:19:30 +0200] rev 16653
mq: introduce qpop --check qpop --check let you qpop with uncommitted files if they do not intersect with files touched by the popped patches.
Sat, 12 May 2012 09:43:12 +0200 pager: check if signal.SIGPIPE exists stable
David Soria Parra <dsp@php.net> [Sat, 12 May 2012 09:43:12 +0200] rev 16652
pager: check if signal.SIGPIPE exists We have to check for signal.SIGPIPE before we attempt to set it.
Sat, 12 May 2012 10:02:47 +0200 diffhelpers: harden testhunk stable
Matt Mackall <mpm@selenic.com> [Sat, 12 May 2012 10:02:47 +0200] rev 16651
diffhelpers: harden testhunk
Sat, 12 May 2012 16:10:01 +0900 patch: fix segfault against unified diffs which start line is zero stable
Yuya Nishihara <yuya@tcha.org> [Sat, 12 May 2012 16:10:01 +0900] rev 16650
patch: fix segfault against unified diffs which start line is zero Since 2b1ec74c961f, if a chunk starts with "@@ -0,1", oldstart turns into a negative value. Because diffhelpers.testhunk() doesn't expect negative bstart, it bypasses "alen > blen - bstart" condition and segfaults at "PyList_GET_ITEM(b, i + bstart)".
Fri, 11 May 2012 22:48:19 -0700 bugzilla: fix transport initialization on python 2.4 stable
Steven Stallion <sstallion@gmail.com> [Fri, 11 May 2012 22:48:19 -0700] rev 16649
bugzilla: fix transport initialization on python 2.4
Tue, 08 May 2012 15:31:00 -0700 bisect: set HG_NODE when runing a command
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 15:31:00 -0700] rev 16648
bisect: set HG_NODE when runing a command When running a command, set the environment variable HG_NODE to tell the command which changeset is being visited.
Tue, 08 May 2012 15:29:09 -0700 bisect: track the current changeset (issue3382)
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 15:29:09 -0700] rev 16647
bisect: track the current changeset (issue3382) Introduce a new revset feature, bisect(current), that identifies the changeset currently being bisected.
Fri, 04 May 2012 15:56:45 -0400 localrepo: optimize internode status calls using withflags
Jesse Glick <jesse.glick@oracle.com> [Fri, 04 May 2012 15:56:45 -0400] rev 16646
localrepo: optimize internode status calls using withflags Introduce manifestdict.withflags() to get a set of all files which have any flags set, since these are likely to be a minority. Otherwise checking .flags() for every file is a lot of dictionary lookups and is quite slow.
Fri, 04 May 2012 15:54:55 -0400 localrepo: optimize internode status calls using match.always
Jesse Glick <jesse.glick@oracle.com> [Fri, 04 May 2012 15:54:55 -0400] rev 16645
localrepo: optimize internode status calls using match.always Introduce match.always() to check if a match object always says yes, i.e. None was passed in. If so, mfmatches should not bother iterating every file in the repository.
Fri, 11 May 2012 23:11:43 +0200 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com> [Fri, 11 May 2012 23:11:43 +0200] rev 16644
largefiles: add --all-largefiles flag to clone (issue3188)
Fri, 04 May 2012 16:00:33 -0500 httpclient: update to revision 892730fe7f46 of httpplus
Augie Fackler <raf@durin42.com> [Fri, 04 May 2012 16:00:33 -0500] rev 16643
httpclient: update to revision 892730fe7f46 of httpplus
Sat, 12 May 2012 00:06:11 +0200 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 12 May 2012 00:06:11 +0200] rev 16642
merge with stable
Tue, 08 May 2012 14:46:04 -0700 parsers: use the correct maximum radix tree depth stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:46:04 -0700] rev 16641
parsers: use the correct maximum radix tree depth Previously, we would not use more than half of a SHA-1 hash when constructing and searching the tree.
Wed, 09 May 2012 18:45:14 +0200 revset: make matching() preserve input revision order stable
Patrick Mezard <patrick@mezard.eu> [Wed, 09 May 2012 18:45:14 +0200] rev 16640
revset: make matching() preserve input revision order
Thu, 10 May 2012 14:17:05 -0400 revset: documentation typo "metatadata" stable
Jesse Glick <jesse.glick@oracle.com> [Thu, 10 May 2012 14:17:05 -0400] rev 16639
revset: documentation typo "metatadata"
Fri, 11 May 2012 15:32:22 +0200 largefiles: fix deletion of multiple missing largefiles (issue3329) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 11 May 2012 15:32:22 +0200] rev 16638
largefiles: fix deletion of multiple missing largefiles (issue3329)
Fri, 11 May 2012 15:15:50 +0200 addremove: document default similarity behavior (issue3429) stable
Levi Bard <levi@unity3d.com> [Fri, 11 May 2012 15:15:50 +0200] rev 16637
addremove: document default similarity behavior (issue3429)
Fri, 11 May 2012 14:42:26 +0200 largefiles: follow normal codepath for addremove if non-largefiles repo (issue3249) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 11 May 2012 14:42:26 +0200] rev 16636
largefiles: follow normal codepath for addremove if non-largefiles repo (issue3249)
Fri, 11 May 2012 16:57:26 +0200 mq: add --no-backup for qpush/qpop/qgoto stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:57:26 +0200] rev 16635
mq: add --no-backup for qpush/qpop/qgoto
Fri, 11 May 2012 16:18:47 +0200 mq: backup local changes in qpush --force stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:18:47 +0200] rev 16634
mq: backup local changes in qpush --force qpush help says the following about --force: 1- When -f/--force is applied, all local changes in patched files will be lost. 2- Apply on top of local changes In practice, qpush --force will attempt to apply the patch on top of local changes, and on success will merge them in the pushed patch. On failure, patched files will contain a mix of local changes (where the patch could not apply) and a mix of patch changes (were it applied). So, local changes are less lost than entangled with a mass of other changes. This patch makes qpush --force backup all locally modified files touched by the next patch being applied. When multiple patches are being pushed, this logic is repeated for each patch. Note that modified but successfully patched files are preserved as well.
Fri, 11 May 2012 16:17:02 +0200 mq: backup local changes in qpop --force (issue3433) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:17:02 +0200] rev 16633
mq: backup local changes in qpop --force (issue3433)
Fri, 11 May 2012 16:08:49 +0200 pager: remove quiet flag stable
David Soria Parra <dsp@php.net> [Fri, 11 May 2012 16:08:49 +0200] rev 16632
pager: remove quiet flag With the pager running as a child process, exiting the pager doesn't result in a broken pipe message. To distinguish the exit broken pipe code from a mercurial abort we register the default action for SIGPIPE. This results in a 141 exit code instead of a 255. On windows SIGPIPE doesn't exists and a ValueError will be thrown.
Fri, 11 May 2012 15:45:37 +0200 pager: preserve Hg's exit code (and fix Windows support) (issue3225) stable
Brodie Rao <brodie@sf.io> [Fri, 11 May 2012 15:45:37 +0200] rev 16631
pager: preserve Hg's exit code (and fix Windows support) (issue3225) This changes how the pager extension invokes the pager. Prior to this change, the extension would fork Hg and exec the pager in the parent process. This loses Hg exit code, and it doesn't work on Windows. Now the pager is invoked using the subprocess library, and an atexit handler is registered that makes Hg wait for the pager to exit before it exits itself. Note that if you exit the pager before Hg is done running, you'll get an exit code of 255, which is caused by Python blowing up due to a broken pipe. If you set pager.quiet=True, you'll get the OS-level return code of 141.
Fri, 11 May 2012 18:33:45 +0300 amend: preserve extra dict (issue3430) stable
Idan Kamara <idankk86@gmail.com> [Fri, 11 May 2012 18:33:45 +0300] rev 16630
amend: preserve extra dict (issue3430)
Wed, 09 May 2012 09:58:50 +0200 parser: use PyInt_FromSsize_t in index_stats
Adrian Buehlmann <adrian@cadifra.com> [Wed, 09 May 2012 09:58:50 +0200] rev 16629
parser: use PyInt_FromSsize_t in index_stats Eliminates mercurial/parsers.c(515) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data mercurial/parsers.c(520) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data mercurial/parsers.c(521) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data when compiling for Windows x64 target using the Microsoft compiler. PyInt_FromSsize_t does not exist for Python 2.4 and earlier, so we define a fallback in util.h to use PyInt_FromLong when compiling for Python 2.4.
Fri, 11 May 2012 10:53:12 -0700 localrepo: cleanup var names and comments
redstone [Fri, 11 May 2012 10:53:12 -0700] rev 16628
localrepo: cleanup var names and comments Cosmetic cleanups. Fix comment typo referring to the notion of multiple tips. Make variable describing a generator end in 'gen'. Fix another var containing a node not to end with 'rev'.
Fri, 11 May 2012 17:26:58 +0200 transplant: manually transplant pullable changesets with --log
Levi Bard <levi@unity3d.com> [Fri, 11 May 2012 17:26:58 +0200] rev 16627
transplant: manually transplant pullable changesets with --log
Thu, 10 May 2012 18:52:07 +0200 phases: stop modifying localrepo in writeroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:52:07 +0200] rev 16626
phases: stop modifying localrepo in writeroots() Also pass the phaseroots being written for clarity. repo._dirtyphases was already reset to False at call site.
Thu, 10 May 2012 18:52:04 +0200 phases: stop modifying localrepo in readroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:52:04 +0200] rev 16625
phases: stop modifying localrepo in readroots() phasedefaults is also passed explicitely to help the casual reader understand where it is used without grepping all the sources.
Thu, 10 May 2012 18:21:15 +0200 phases: call filterunknown() in readroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16624
phases: call filterunknown() in readroots() One less function manipulating localrepo state.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 +30000 tip