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.
Thu, 10 May 2012 18:21:15 +0200 repair: no need to call filterunknown() in strip()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16623
repair: no need to call filterunknown() in strip() Calling strip() will eventually trigger localrepo.destroyed() which will invalidate _parseroots. It will call filterunknown() upon reload. Changes to test-keyword.t are related to commit --debug running after either qpop or rollback.
Thu, 10 May 2012 18:21:15 +0200 test-phases: test changing null revision phase
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16622
test-phases: test changing null revision phase The behaviour is correct but for bad reasons: the repo.set() call in phase command fails for '-1'. It should be rejected explicitely by phase boundary commands, sadly this is hard to do because phase changes are not applied atomically.
Fri, 11 May 2012 14:48:24 +0200 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 11 May 2012 14:48:24 +0200] rev 16621
merge with stable
Fri, 11 May 2012 02:32:26 -0700 tests: fix test-parseindex2.py when run with --pure stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 11 May 2012 02:32:26 -0700] rev 16620
tests: fix test-parseindex2.py when run with --pure
Fri, 11 May 2012 01:55:33 -0700 changelog: ensure that nodecache is valid (issue3428) stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 11 May 2012 01:55:33 -0700] rev 16619
changelog: ensure that nodecache is valid (issue3428) This ensures that an out-of-process hook can see an incoming changegroup.
Tue, 08 May 2012 14:48:50 -0700 parsers: change the type of nt_level
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:50 -0700] rev 16618
parsers: change the type of nt_level We should generally prefer Py_ssize_t whenever we are talking about lengths.
Tue, 08 May 2012 14:48:48 -0700 parsers: change the type signature of hexdigit
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:48 -0700] rev 16617
parsers: change the type signature of hexdigit An upcoming change will make use of this.
Tue, 08 May 2012 14:48:44 -0700 parsers: allow nt_find to signal an ambiguous match
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:44 -0700] rev 16616
parsers: allow nt_find to signal an ambiguous match
Tue, 08 May 2012 14:48:39 -0700 parsers: factor out radix tree initialization
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:39 -0700] rev 16615
parsers: factor out radix tree initialization
Tue, 08 May 2012 14:46:06 -0700 parsers: update ntrev when we stop scanning
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:46:06 -0700] rev 16614
parsers: update ntrev when we stop scanning This prevents us from inserting some nodes twice, wasting work.
Tue, 08 May 2012 15:46:51 -0500 tests: set a standard terminal type
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 15:46:51 -0500] rev 16613
tests: set a standard terminal type This makes test-ui-color.py happy when run in a dumb terminal. Spotted by Jesse Glick <jesse.glick@oracle.com>
Sun, 06 May 2012 17:12:22 -0700 branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com> [Sun, 06 May 2012 17:12:22 -0700] rev 16612
branches: quiet option observes other parameters
Tue, 08 May 2012 23:59:39 +0400 build: fix hgrc manpage building with docutils 0.9 stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 08 May 2012 23:59:39 +0400] rev 16611
build: fix hgrc manpage building with docutils 0.9 Since docutils 0.9, `roman` module has been moved from module directory root (i.e. `site-packages/roman.py`) to `docutils.utils` module. Therefore `import roman` statement should be wrapped in `try: ... except ImportError: ...` block to handle importing correctly.
Wed, 09 May 2012 02:46:58 +0300 context: fix call to util.safehasattr
Idan Kamara <idankk86@gmail.com> [Wed, 09 May 2012 02:46:58 +0300] rev 16610
context: fix call to util.safehasattr
Sat, 05 May 2012 12:21:22 +0200 alias: inherit command optionalrepo flag (issue3298) stable
Patrick Mezard <patrick@mezard.eu> [Sat, 05 May 2012 12:21:22 +0200] rev 16609
alias: inherit command optionalrepo flag (issue3298) Commands working without a repository, like "init", are listed in commands.norepo. Commands optionally using a repository, like "showconfig", are listed in commands.optionalrepo. Command aliases were inheriting the former but not the latter.
Mon, 07 May 2012 00:52:11 +0200 tests: improve test of hg-ssh and make the test pass on windows stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:52:11 +0200] rev 16608
tests: improve test of hg-ssh and make the test pass on windows
Mon, 07 May 2012 00:52:08 +0200 hg-ssh: exit with 255 instead of -1 on error stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:52:08 +0200] rev 16607
hg-ssh: exit with 255 instead of -1 on error Unix sh would cast -1 to 255 anyway, but on windows -1 become 0. Better be explicit with the 255 everywhere.
Mon, 07 May 2012 00:49:01 +0200 hg-ssh: use %s for printing paths in error messages stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:49:01 +0200] rev 16606
hg-ssh: use %s for printing paths in error messages This avoids \\ if this ever is run on windows - for example in the test suite.
Mon, 07 May 2012 00:48:51 +0200 tests: accept \ in test-casefolding on windows stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:48:51 +0200] rev 16605
tests: accept \ in test-casefolding on windows
Tue, 08 May 2012 11:20:07 +0200 parsers: statically initializing tp_new to PyType_GenericNew is not portable stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 08 May 2012 11:20:07 +0200] rev 16604
parsers: statically initializing tp_new to PyType_GenericNew is not portable As detailed on http://docs.python.org/extending/newtypes.html (quote): "In this case, we can just use the default implementation provided by the API function PyType_GenericNew(). We’d like to just assign this to the tp_new slot, but we can’t, for portability sake. On some platforms or compilers, we can’t statically initialize a structure member with a function defined in another C module, so, instead, we’ll assign the tp_new slot in the module initialization function just before calling PyType_Ready()." Fixes "gcc (GCC) 3.4.5 (mingw-vista special r3)" complaining with: mercurial/parsers.c:1096: error: initializer element is not constant mercurial/parsers.c:1096: error: (near initialization for `indexType.tp_new')
Tue, 08 May 2012 12:05:45 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 12:05:45 -0500] rev 16603
merge with stable
Sun, 06 May 2012 14:37:51 -0500 context: add copies method with caching
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:37:51 -0500] rev 16602
context: add copies method with caching
Sun, 06 May 2012 14:20:53 -0500 filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:20:53 -0500] rev 16601
filectx: handle some other simple cases for finding merge ancestor
Sun, 06 May 2012 14:15:17 -0500 graft: remark on empty graft
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:15:17 -0500] rev 16600
graft: remark on empty graft
Fri, 04 May 2012 17:27:14 -0500 filectx: make ancestor require actx
Matt Mackall <mpm@selenic.com> [Fri, 04 May 2012 17:27:14 -0500] rev 16599
filectx: make ancestor require actx When grafting or rebasing, we need to know the target ancestor.
Mon, 07 May 2012 21:49:45 +0200 pure/base85: align exception type/msg on base85.c stable
Patrick Mezard <patrick@mezard.eu> [Mon, 07 May 2012 21:49:45 +0200] rev 16598
pure/base85: align exception type/msg on base85.c brendan mentioned on IRC that b64decode raises a TypeError too, but while the previous exception type may be better in general, it is much easier to make it behave like the related C code and changes nothing for mercurial itself.
Mon, 07 May 2012 15:40:50 -0500 parsers: fix refcount bug on corrupt index stable
Matt Mackall <mpm@selenic.com> [Mon, 07 May 2012 15:40:50 -0500] rev 16597
parsers: fix refcount bug on corrupt index When we encounter a corrupt index, we "fail" the init but our destructor still gets called. On some systems, this was causing us to attempt to decref a dangling to self->data.
Fri, 04 May 2012 14:19:55 +0200 subrepo: do not traceback on .hgsubstate parsing errors stable
Patrick Mezard <patrick@mezard.eu> [Fri, 04 May 2012 14:19:55 +0200] rev 16596
subrepo: do not traceback on .hgsubstate parsing errors Note that aborting in subrepo.state() prevents "repairing" commands like revert to be issued. The user will have to edit the .hgsubstate manually (but he probably had already otherwise this would not be failing). The same behaviour already happens with invalid .hgsub entries.
Fri, 04 May 2012 14:19:52 +0200 subrepo: ignore blank lines in .hgsubstate (issue3424) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 04 May 2012 14:19:52 +0200] rev 16595
subrepo: ignore blank lines in .hgsubstate (issue3424) Reported by Sebastian Krysmanski <infomail@lordb.de>
Fri, 04 May 2012 14:36:40 -0400 largefiles: in putlfile, ensure tempfile's directory exists prior to creation stable
hlian [Fri, 04 May 2012 14:36:40 -0400] rev 16594
largefiles: in putlfile, ensure tempfile's directory exists prior to creation Let R be a repo served by an hg daemon on a machine with an empty largefiles cache. Pushing a largefiles repo to R will result in a no-such-file-or-directory OSError because putlfile will attempt to create a temporary file in R/.hg/largefiles, which does not yet exist. This patch also adds a regression test for this scenario.
Wed, 02 May 2012 17:15:11 -0700 bisect: save current state before running a command stable
Bryan O'Sullivan <bryano@fb.com> [Wed, 02 May 2012 17:15:11 -0700] rev 16593
bisect: save current state before running a command This prevents an external command being run during a bisect from querying stale data.
Mon, 07 May 2012 13:40:58 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Mon, 07 May 2012 13:40:58 +0200] rev 16592
merge with stable
Sun, 06 May 2012 23:58:04 +0900 commands: parse ui.strict config item as bool stable
Yuya Nishihara <yuya@tcha.org> [Sun, 06 May 2012 23:58:04 +0900] rev 16591
commands: parse ui.strict config item as bool
Mon, 07 May 2012 10:02:50 +0200 check-code: catch unnecessary s.strip().split() calls
Martin Geisler <mg@aragost.com> [Mon, 07 May 2012 10:02:50 +0200] rev 16590
check-code: catch unnecessary s.strip().split() calls
Fri, 04 May 2012 15:29:07 +0200 tags: line.rstrip().split() can be replaced with line.split()
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 15:29:07 +0200] rev 16589
tags: line.rstrip().split() can be replaced with line.split() The line looks like "123 <node> <node>" and does not start with whitespace: it was therefore not significant that rstrip was used instead of strip. Furthermore, the first part is fed to int, which will itself strip away whitespace before converting the string to an integer.
Fri, 04 May 2012 15:24:00 +0200 phases: line.strip().split() == line.split()
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 15:24:00 +0200] rev 16588
phases: line.strip().split() == line.split()
Sun, 06 May 2012 14:36:42 +0200 merge with stable
Martin Geisler <mg@lazybytes.net> [Sun, 06 May 2012 14:36:42 +0200] rev 16587
merge with stable
Sun, 06 May 2012 13:14:58 +0200 largefiles: fix "hg status dir" missing regular files (issue3421) stable
Patrick Mezard <patrick@mezard.eu> [Sun, 06 May 2012 13:14:58 +0200] rev 16586
largefiles: fix "hg status dir" missing regular files (issue3421) largefiles status implementation attemps to rewrite the input match objects to match the "standins" as well as the regular files. When fixing the directories listed in match.files(), if there was related standin entry, it was kept and the original path discarded. But directories can appear both as regular and standin entries.
Sun, 06 May 2012 10:36:32 +0200 help/config: remove outdated false claim about pywin32 stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 06 May 2012 10:36:32 +0200] rev 16585
help/config: remove outdated false claim about pywin32 Since version 1.8 (released on 2011-03-01), Mercurial doesn't use pywin32 any more. The old fallback mechanism to use C:\Mercurial\Mercurial.ini if pywin32 is not installed was removed in 244772f67ac1.
Fri, 04 May 2012 19:19:28 +0200 merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 04 May 2012 19:19:28 +0200] rev 16584
merge with stable
Fri, 04 May 2012 09:20:28 -0500 revert: don't re-create changeset context
Kevin Bullock <kbullock@ringworld.org> [Fri, 04 May 2012 09:20:28 -0500] rev 16583
revert: don't re-create changeset context
Fri, 04 May 2012 09:14:55 -0700 factotum: add man reference to help output stable
Steven Stallion <sstallion@gmail.com> [Fri, 04 May 2012 09:14:55 -0700] rev 16582
factotum: add man reference to help output
Fri, 04 May 2012 14:40:11 +0200 test-largefiles: better formatting of comments
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 14:40:11 +0200] rev 16581
test-largefiles: better formatting of comments
Fri, 04 May 2012 14:39:37 +0200 test-largefiles: sort output to ensure test stability
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 14:39:37 +0200] rev 16580
test-largefiles: sort output to ensure test stability
Fri, 04 May 2012 12:21:56 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:21:56 +0200] rev 16579
merge with stable
Thu, 03 May 2012 21:32:57 -0400 largefiles: make archive -S store largefiles instead of standins
Matt Harbison <matt_harbison@yahoo.com> [Thu, 03 May 2012 21:32:57 -0400] rev 16578
largefiles: make archive -S store largefiles instead of standins This is essentially a copy of largefile's override of archive() in the archival class, adapted for overriding hgsubrepo's archive(). That means decoding isn't taken into consideration, nor is .hg_archival.txt generated (the same goes for regular subrepos). Unlike subrepos, but consistent with largefile's handling of the top repo, ui.progress() is *not* called. This should probably be refactored at some point, but at least this generates the archives properly for now. Previously, the standins were ignored and the largefiles were archived only for the top level repo. Long term, it would probably be most desirable to figure out how to tweak archival's archive() if necessary such that largefiles doesn't need to override it completely just to special case the translating of standins to the real files. Largefiles will already return a context with the true largefiles instead of the standins if lfilesrepo's lfstatus is True- perhaps this can be leveraged?
Fri, 04 May 2012 12:04:07 +0200 paper, monoblue: link correctly to lines in annotate view stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:04:07 +0200] rev 16577
paper, monoblue: link correctly to lines in annotate view The links were to "foo#123" instead of "foo#l123". The gitweb and spartan templates were already producing the correct links.
Thu, 03 May 2012 16:12:52 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:12:52 -0500] rev 16576
merge with stable
Thu, 03 May 2012 16:06:33 -0500 Added signature for changeset 5983de86462c stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:06:33 -0500] rev 16575
Added signature for changeset 5983de86462c
Thu, 03 May 2012 16:06:30 -0500 Added tag 2.2.1 for changeset 5983de86462c stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:06:30 -0500] rev 16574
Added tag 2.2.1 for changeset 5983de86462c
Thu, 03 May 2012 16:03:08 -0500 bookmarks: catch the proper exception for missing revisions stable 2.2.1
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:03:08 -0500] rev 16573
bookmarks: catch the proper exception for missing revisions This fixes a regression from 1.7
Wed, 02 May 2012 14:37:44 -0700 parsers: fix refcount leak, simplify init of index (issue3417) stable
Bryan O'Sullivan <bryano@fb.com> [Wed, 02 May 2012 14:37:44 -0700] rev 16572
parsers: fix refcount leak, simplify init of index (issue3417) This is most easily verified using valgrind on a long-running process, as the leak has no visible consequences during normal one-shot command usage. In one window: valgrind --leak-check=full --suppressions=valgrind-python.supp \ python ./hg serve In another: for ((i=0;i<100;i++)); do curl -s http://localhost:8000/file/tip/README >/dev/null done valgrind should report no leaks.
Thu, 03 May 2012 15:24:45 +0200 largefiles: fix commit of both largefiles and non-largefiles (issue3354) stable
Na'Tosha Bard <natosha@unity3d.com> [Thu, 03 May 2012 15:24:45 +0200] rev 16571
largefiles: fix commit of both largefiles and non-largefiles (issue3354) This bug was caused by some old code that should have been removed long ago.
Thu, 03 May 2012 01:07:22 +0200 help: added description for the web.collapse setting stable
Paul Boddie <paul@boddie.org.uk> [Thu, 03 May 2012 01:07:22 +0200] rev 16570
help: added description for the web.collapse setting The collapse configuration setting for hgweb was recently introduced, but the help text was unfortunately omitted from the patch concerned. This patch provides a suitable help text.
Wed, 02 May 2012 13:20:06 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Wed, 02 May 2012 13:20:06 +0200] rev 16569
merge with stable
Tue, 01 May 2012 22:14:51 +0100 help: add reference to template help (issue3413) stable
A. S. Budden <abudden@gmail.com> [Tue, 01 May 2012 22:14:51 +0100] rev 16568
help: add reference to template help (issue3413) There is currently no clear link between the help for log and the help on templates. The log option is --template but the template help is 'help templating' or 'help templates'. This patch makes 'hg help template' work and also adds a note into the log help explaining where to find more info.
Sun, 29 Apr 2012 11:19:51 +0200 patch: clarify binary hunk parsing loop
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 11:19:51 +0200] rev 16567
patch: clarify binary hunk parsing loop
Tue, 01 May 2012 10:14:35 +0200 rebase: make --dest understand revsets
Patrick Mezard <patrick@mezard.eu> [Tue, 01 May 2012 10:14:35 +0200] rev 16566
rebase: make --dest understand revsets
Wed, 02 May 2012 11:43:12 +0200 rebase: add missing EOL to debug strings
Patrick Mezard <patrick@mezard.eu> [Wed, 02 May 2012 11:43:12 +0200] rev 16565
rebase: add missing EOL to debug strings
Wed, 02 May 2012 12:55:44 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Wed, 02 May 2012 12:55:44 +0200] rev 16564
merge with stable
Tue, 01 May 2012 16:40:31 -0500 Added signature for changeset 00182b3d0879 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 May 2012 16:40:31 -0500] rev 16563
Added signature for changeset 00182b3d0879
Tue, 01 May 2012 16:40:24 -0500 Added tag 2.2 for changeset 00182b3d0879 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 May 2012 16:40:24 -0500] rev 16562
Added tag 2.2 for changeset 00182b3d0879
Tue, 01 May 2012 19:09:15 +0900 i18n-ja: synchronized with f2a3ce017355 stable 2.2
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 May 2012 19:09:15 +0900] rev 16561
i18n-ja: synchronized with f2a3ce017355
Tue, 01 May 2012 00:52:57 -0300 i18n-pt_BR: synchronized with 517b25608ad6 stable
Wagner Bruna <wbruna@yahoo.com> [Tue, 01 May 2012 00:52:57 -0300] rev 16560
i18n-pt_BR: synchronized with 517b25608ad6
Mon, 30 Apr 2012 16:06:37 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Apr 2012 16:06:37 -0500] rev 16559
merge with i18n
Sun, 29 Apr 2012 21:15:06 +0900 i18n-ja: synchronized with be786c5ac0a8 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 29 Apr 2012 21:15:06 +0900] rev 16558
i18n-ja: synchronized with be786c5ac0a8
Sun, 29 Apr 2012 20:58:50 +0200 changegroup: decompress GZ algorithm in larger chunks for better performance stable
Michael Tjørnemark <michael@tjornemark.dk> [Sun, 29 Apr 2012 20:58:50 +0200] rev 16557
changegroup: decompress GZ algorithm in larger chunks for better performance
Sat, 28 Apr 2012 23:01:31 -0700 plan9: mkfile and 9diff fixes stable
Steven Stallion <sstallion@gmail.com> [Sat, 28 Apr 2012 23:01:31 -0700] rev 16556
plan9: mkfile and 9diff fixes This patch deals with an unnecessary backslash in 9diff and improper quoting in the contrib mkfile.
Mon, 30 Apr 2012 17:05:19 +0200 subrepo/svn: cache _wcrev() value in merge() stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 17:05:19 +0200] rev 16555
subrepo/svn: cache _wcrev() value in merge()
Mon, 30 Apr 2012 17:03:15 +0200 subrepo/svn: fix checked out rev number retrieval (issue2968) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 17:03:15 +0200] rev 16554
subrepo/svn: fix checked out rev number retrieval (issue2968) The initial version was to take the "Revision" field from svn info. It works but produces false positive when parent paths are being moved or unrelated changes are being committed, causing it to change while the svn checkout itself remains the same. To avoid spurious commit, we took "Revision" and "Last Changed Rev" for general comparison and kept the latter to answer "what is your revision?" question. This is better but fails when the subrepo path exists at "Revision" but not at "Last Changed Rev". This patch adds a check for this, and returns "Revision" if the path does not exist. We try to avoid doing this as much as possible at it implies an extra, *remote* call.
Mon, 30 Apr 2012 20:45:45 +0200 amend: fix copy records handling (issue3410) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 20:45:45 +0200] rev 16553
amend: fix copy records handling (issue3410) Messing with the dirstate before the intermediate commit seems error prone. Instead, commit and recompute the copies with copies.pathcopies(), then use that with commitctx(). Since copies.pathcopies() does not support file replacement very well, the whole .renamed() condition in samefile() is removed and the "file replacement caused by differing copy source" effect is discarded. Test shamelessly stolen from Idan Kamara <idankk86@gmail.com>
Mon, 30 Apr 2012 20:36:29 +0200 test-commit-amend: exhibit an --amend weirdness stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 20:36:29 +0200] rev 16552
test-commit-amend: exhibit an --amend weirdness The weirdness is --amend let you replace one file with another with same data and flags if the new file copy record differ from the one in the parent revision. In theory, there is no problem with this kind of thing, subversion supports it, but here we see log and status disagree. The reason is log reads the copy record from the filelog, while status calls copies.pathcopies() which eventually invokes some expensiveness argument to discard this case (copies.py, _forwardcopies(), line 132). Since the next patch will side with pathcopies(), I prefer to call this behaviour a bug.
Sun, 29 Apr 2012 22:25:55 +0200 localrepo: add setparents() to adjust dirstate copies (issue3407) stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 22:25:55 +0200] rev 16551
localrepo: add setparents() to adjust dirstate copies (issue3407) The fix introduced in eab9119c5dee was only partially successful. It is correct to turn dirstate 'm' merge records into normal/dirty ones but copy records are lost in the process. To adjust them as well, we need to look in the first parent manifest to know which files were added and preserve only related records. But the dirstate does not have access to changesets, the logic has to moved at another level, in localrepo.
Sun, 29 Apr 2012 16:18:46 +0200 test-rebase-parameters: more tests for revset/opts stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 16:18:46 +0200] rev 16550
test-rebase-parameters: more tests for revset/opts - --source and revset - --base and revset - --rev and revset - --rev and --source combination - --rev and --base combination
Mon, 30 Apr 2012 12:45:44 +0200 help/config: expand [subpaths] help stable
Martin Geisler <mg@aragost.com> [Mon, 30 Apr 2012 12:45:44 +0200] rev 16549
help/config: expand [subpaths] help Brifly explain why rewriting subrepository paths can be necessary. Explain that relative subrepository paths are made absolute before rewrite rules are applied.
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip