Sat, 01 Oct 2011 15:49:24 -0500 Added tag 1.9.3 for changeset 351a9292e430 stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 15:49:24 -0500] rev 15185
Added tag 1.9.3 for changeset 351a9292e430
Sat, 01 Oct 2011 15:47:03 -0500 record: use command wrapper properly for qnew/qrefresh (issue3001) stable 1.9.3
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 15:47:03 -0500] rev 15184
record: use command wrapper properly for qnew/qrefresh (issue3001)
Fri, 30 Sep 2011 21:58:54 -0400 rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca> [Fri, 30 Sep 2011 21:58:54 -0400] rev 15183
rollback: avoid unsafe rollback when not at tip (issue2998) You can get into trouble if you commit, update back to an older changeset, and then rollback. The update removes your valuable changes from the working dir, then rollback removes them history. Oops: you've just irretrievably lost data running nothing but core Mercurial commands. (More subtly: rollback from a shared clone that was already at an older changeset -- no update required, just rollback from the wrong directory.) The fix assumes that only "commit" transactions have irreplaceable data, and allows rolling back non-commit transactions as always. But when rolling back a commit, check that the working dir is checked out to tip, i.e. the changeset we're about to destroy. If not, abort. You can get back the old (dangerous) behaviour with --force.
Fri, 30 Sep 2011 15:11:19 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 15:11:19 -0500] rev 15182
merge with stable
Fri, 30 Sep 2011 15:10:50 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 15:10:50 -0500] rev 15181
merge with i18n
Tue, 27 Sep 2011 03:33:26 +0900 i18n-ja: synchronized with 31c9e2a702d1 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 27 Sep 2011 03:33:26 +0900] rev 15180
i18n-ja: synchronized with 31c9e2a702d1
Fri, 30 Sep 2011 14:26:36 -0500 clone: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:26:36 -0500] rev 15179
clone: add help examples
Fri, 30 Sep 2011 14:12:48 -0500 clone: add a note about -u/-U
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:12:48 -0500] rev 15178
clone: add a note about -u/-U
Fri, 30 Sep 2011 14:09:45 -0500 clone: move portions of help into the verbose section
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:09:45 -0500] rev 15177
clone: move portions of help into the verbose section
Fri, 30 Sep 2011 14:06:41 -0500 clone: clarify destination URLs
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:06:41 -0500] rev 15176
clone: clarify destination URLs
Fri, 30 Sep 2011 11:30:00 -0500 clone: move url crossref to bottom
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 11:30:00 -0500] rev 15175
clone: move url crossref to bottom
Fri, 30 Sep 2011 11:27:59 -0500 clone: improve help on -r/-b and tags
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 11:27:59 -0500] rev 15174
clone: improve help on -r/-b and tags
Thu, 29 Sep 2011 17:16:42 -0500 largefiles: mark a string for translation
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:16:42 -0500] rev 15173
largefiles: mark a string for translation
Thu, 29 Sep 2011 17:15:54 -0500 largefiles: fix multistatement line
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:15:54 -0500] rev 15172
largefiles: fix multistatement line
Thu, 29 Sep 2011 17:14:47 -0500 largefiles: eliminate naked exceptions
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:14:47 -0500] rev 15171
largefiles: eliminate naked exceptions
Thu, 29 Sep 2011 17:04:57 -0500 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:04:57 -0500] rev 15170
largefiles: fix over-long lines
Thu, 29 Sep 2011 16:48:48 -0500 largefile: fix up hasattr usage
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 16:48:48 -0500] rev 15169
largefile: fix up hasattr usage
Sat, 24 Sep 2011 17:35:45 +0200 hgext: add largefiles extension
various [Sat, 24 Sep 2011 17:35:45 +0200] rev 15168
hgext: add largefiles extension This code has a number of contributors and a complicated history prior to its introduction that can be seen by visiting: https://developers.kilnhg.com/Repo/Kiln/largefiles/largefiles http://hg.gerg.ca/hg-bfiles and looking at the included copyright notices and contributors list.
Wed, 28 Sep 2011 16:11:53 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 16:11:53 -0500] rev 15167
merge with stable
Wed, 28 Sep 2011 14:49:00 -0500 patchbomb: drop loop in prompt
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 14:49:00 -0500] rev 15166
patchbomb: drop loop in prompt There are no longer any prompts that insist on being answered, so the loop is no longer needed, nor is most of the other logic.
Wed, 08 Sep 2010 08:31:07 +0200 patchbomb: use prompt even in non-interactive mode
Matt Mackall <mpm@selenic.com> [Wed, 08 Sep 2010 08:31:07 +0200] rev 15165
patchbomb: use prompt even in non-interactive mode This matches our pre-existing behavior from: changeset: 12197:540693065d40 user: Christian Ebert <blacktrash@gmx.net> files: hgext/patchbomb.py tests/test-patchbomb.t description: patchbomb: show prompt and selection in non-interactive mode changeset: 8940:01ada7b1861d user: Mads Kiilerich <mads@kiilerich.com> date: Sun Jun 21 03:13:38 2009 +0200 files: mercurial/ui.py tests/test-merge-prompt.out tests/test-merge-tools.out description: ui.prompt: Show prompt and selection in non-interactive mode
Tue, 27 Sep 2011 22:38:47 -0400 patchbomb: make it easy for the user to decline sending an intro message.
Greg Ward <greg@gerg.ca> [Tue, 27 Sep 2011 22:38:47 -0400] rev 15164
patchbomb: make it easy for the user to decline sending an intro message. - prompt(): respect interactive mode; clarify logic a bit - rename introneeded() to introwanted() and give it only one caller - add 'numbered' arg to makepatch() so it does not need to call introwanted() - factor makeintro() out of getpatchmsgs(), so it's easier to skip the intro message based on the user's behaviour Unexpected but perfectly reasonable side effect: in non-interactive mode, we don't show unanswerable "Cc" or "From" prompts anymore, so remove those from the test expectations.
Tue, 20 Sep 2011 15:21:27 +0300 building: build inotify for sys.platform='linux*' stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 20 Sep 2011 15:21:27 +0300] rev 15163
building: build inotify for sys.platform='linux*' If Python interpreter was built under Linux 3.x kernel, it reports sys.platform to be 'linux3' (it is fixed for Python 3, but not for 2.x). This cancels building inotify extension, which was built only for 'linux2' platform. Improved test checks if sys.platform begins with 'linux', and together with test for kernel version to be greater than 2.6 it seems to cover all known cases.
Mon, 26 Sep 2011 21:29:13 -0400 patchbomb: simplify some contorted logic and odd variable names.
Greg Ward <greg@gerg.ca> [Mon, 26 Sep 2011 21:29:13 -0400] rev 15162
patchbomb: simplify some contorted logic and odd variable names.
Wed, 28 Sep 2011 13:57:48 -0500 merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 13:57:48 -0500] rev 15161
merge with crew
Tue, 27 Sep 2011 18:51:10 +0200 sslutil: abort when ssl module is needed but not found
Mads Kiilerich <mads@kiilerich.com> [Tue, 27 Sep 2011 18:51:10 +0200] rev 15160
sslutil: abort when ssl module is needed but not found It is apparently possible to compile Python without SSL support or leave it out when installing precompiled binaries. Mercurial on such Pythons would crash if the user tried to use https. Now it will be reported as "abort: Python SSL support not found" instead.
Tue, 27 Sep 2011 18:50:18 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Sep 2011 18:50:18 -0500] rev 15159
merge with stable
Tue, 27 Sep 2011 18:41:09 -0500 patch: correctly handle non-tabular Subject: line stable
Steffen Daode Nurpmeso <sdaoden@googlemail.com> [Tue, 27 Sep 2011 18:41:09 -0500] rev 15158
patch: correctly handle non-tabular Subject: line The line content of continued Subject: lines was yet joined via str.replace('\n\t', ' '), which does not handle continuation via spaces. So expan the regular expression instead to handle all allowed forms of mail header line continuation.
Fri, 23 Sep 2011 09:02:27 -0700 util: fix crash converting an invalid future date to string stable
Kevin Gessner <kevin@fogcreek.com> [Fri, 23 Sep 2011 09:02:27 -0700] rev 15157
util: fix crash converting an invalid future date to string Post-2038 timestamps cannot be handled on 32-bit architectures. Clamp such dates to the maximum 32-bit timestamp.
Thu, 22 Sep 2011 01:51:36 +0200 styles: add new 'bisect' style that prints the bisection status
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 01:51:36 +0200] rev 15156
styles: add new 'bisect' style that prints the bisection status The style is based on the 'default' style, but adds the bisection status of the changesets. Example output for a changeset in range: $ hg log --style bisect -r 15:16 changeset: 15:857b178a7cf3 bisect: bad parent: 13:b0a32c86eb31 parent: 10:429fcd26f52d user: test date: Thu Jan 01 00:00:15 1970 +0000 summary: merge 10,13 changeset: 16:609d82a7ebae bisect: bad (implicit) user: test date: Thu Jan 01 00:00:16 1970 +0000 summary: 16 $ hg log --quiet --style bisect 18:d42e18c7bc9b B 17:228c06deef46 B 16:609d82a7ebae B 15:857b178a7cf3 14:faa450606157 G 13:b0a32c86eb31 G 12:9f259202bbe7 G 11:82ca6f06eccd U 10:429fcd26f52d S 9:3c77083deb4a G 8:dab8161ac8fc 7:50c76098bbf2 I 6:a214d5d3811a I 5:385a529b6670 I 4:5c668c22234f I 3:0950834f0a9c I 2:051e12f87bf1 1:4ca5088da217 0:33b1f9bc8bc5 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu, 22 Sep 2011 01:36:01 +0200 templates: add 'bisect' keyword to return a cset's bisect status
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 01:36:01 +0200] rev 15155
templates: add 'bisect' keyword to return a cset's bisect status This new 'bisect' template expands to a cset's bisection status (good, bad and so on...). There is also a new 'shortbisect' filter that yields a single char representing the cset's bisection status. It uses the two recently-added hbisect.label() and .shortlabel() functions. Example output using the repository in test-bisect2.t, and some made-up state of the 'end at merge' test (with graphlog, it's so explicit): $ hg glog --template '{rev}:{node|short} {bisect}\n' \ -r 'bisect(range)|bisect(ignored)' o 17:228c06deef46: bad | o 16:609d82a7ebae: bad (implicit) | o 15:857b178a7cf3: bad |\ | o 13:b0a32c86eb31: good | | | o 12:9f259202bbe7: good (implicit) | | | o 11:82ca6f06eccd: good | | @ | 10:429fcd26f52d: untested |\ \ | o | 9:3c77083deb4a: skipped | |/ | o 8:dab8161ac8fc: good | | o | 6:a214d5d3811a: ignored |\ \ | o | 5:385a529b6670: ignored | | | o | | 4:5c668c22234f: ignored | | | o | | 3:0950834f0a9c: ignored |/ / o / 2:051e12f87bf1: ignored |/ And now the same with the short label: $ hg log --template '{bisect|shortbisect} {rev}:{node|short}\n' 18:d42e18c7bc9b B 17:228c06deef46 B 16:609d82a7ebae B 15:857b178a7cf3 14:faa450606157 G 13:b0a32c86eb31 G 12:9f259202bbe7 G 11:82ca6f06eccd U 10:429fcd26f52d S 9:3c77083deb4a G 8:dab8161ac8fc 7:50c76098bbf2 I 6:a214d5d3811a I 5:385a529b6670 I 4:5c668c22234f I 3:0950834f0a9c I 2:051e12f87bf1 1:4ca5088da217 0:33b1f9bc8bc5 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu, 22 Sep 2011 23:28:49 +0200 hbisect: add functions to return a label for a cset bisection status
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 23:28:49 +0200] rev 15154
hbisect: add functions to return a label for a cset bisection status Add two new functions that return a string containing the bisection status of the node passed in parameter: - .label(node): return a multi-char string representing the status of node - .shortlabel(node): return a single-char string representing the status of node, usually the initial of the label bisection status .label() .shortlabel() ---------------------------------------------------------- good 'good' 'G' good (implicit) 'good (implicit)' 'G' bad 'bad' 'B' bad (implicit) 'bad (implicit)' 'B' skipped 'skip' 'S' untested 'untested' 'U' ignored 'ignored' 'I' (others) None None There is no point in returning 'range' or 'pruned', as these get covered by another, more meaningful status in the table above. In case the node is not being bisected, the functions return None to leave it up to the caller to decide what to print (nothing, an empty space, or whatever else suits). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat, 24 Sep 2011 01:32:50 +0200 hbisect: add two new revset descriptions: 'goods' and 'bads'
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 24 Sep 2011 01:32:50 +0200] rev 15153
hbisect: add two new revset descriptions: 'goods' and 'bads' This patch adds two new revset descriptions: - 'goods': the list of topologicaly-good csets: - if good csets are topologically before bad csets, yields '::good' - else, yields 'good::' - and conversely for 'bads' Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed, 21 Sep 2011 22:52:00 +0200 http: handle push of bundles > 2 GB again (issue3017) stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 21 Sep 2011 22:52:00 +0200] rev 15152
http: handle push of bundles > 2 GB again (issue3017) It was very elegant that httpsendfile implemented __len__ like a string. It was however also dangerous because that protocol can't handle sizes bigger than 2 GB. Mercurial tried to work around that, but it turned out to be too easy to introduce new errors in this area. With this change __len__ is no longer implemented at all and the code will work the same way for short and long posts.
Tue, 20 Sep 2011 15:21:27 +0300 building: build inotify for sys.platform='linux*'
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 20 Sep 2011 15:21:27 +0300] rev 15151
building: build inotify for sys.platform='linux*' If Python interpreter was built under Linux 3.x kernel, it reports sys.platform to be 'linux3' (it is fixed for Python 3, but not for 2.x). This cancels building inotify extension, which was built only for 'linux2' platform. Improved test checks if sys.platform begins with 'linux', and together with test for kernel version to be greater than 2.6 it seems to cover all known cases.
Thu, 22 Sep 2011 15:15:18 +0200 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com> [Thu, 22 Sep 2011 15:15:18 +0200] rev 15150
subrepo: try remapping subpaths using the "final" path Before, the right-hand side of a .hgsub entry was used, as is, to match the left-hand side of a subpaths entry. This turned out to be less useful than expected since a .hgsub file with src/foo = src/foo has little context to do remapping on. The new idea is therefore to prefix the parent repo path *before* the remapping takes place. If the parent repository path (as defined by _abssource) is http://example.net/parent then the remapping for the above .hgsub entry will be done on the expanded path: http://example.net/parent/src/foo If this expanded path is not changed by the remapping, then we remap src/foo alone. This is the old behavior where the right-hand side is remapped without context.
Thu, 22 Sep 2011 14:39:49 +0200 subrepo: refactor state function
Martin Geisler <mg@aragost.com> [Thu, 22 Sep 2011 14:39:49 +0200] rev 15149
subrepo: refactor state function
Tue, 20 Sep 2011 15:02:00 -0500 mq.strip: allow -r option, optionally
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Tue, 20 Sep 2011 15:02:00 -0500] rev 15148
mq.strip: allow -r option, optionally Other commands let -r to be used for revisions, so just for syntactic consistency, it's nice to have it for strip as well
Tue, 20 Sep 2011 20:21:04 +0200 revset.bisect: add 'ignored' set to the bisect keyword
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 20 Sep 2011 20:21:04 +0200] rev 15147
revset.bisect: add 'ignored' set to the bisect keyword The 'ignored' changesets are outside the bisection range, but are changesets that may have an impact on the outcome of the bisection. For example, in case there's a merge between the good and bad csets, but the branch-point is out of the bisection range, and the issue originates from this branch, the branch will not be visited by bisect and bisect will find that the culprit cset is the merge. So, the 'ignored' set is equivalent to: ( ( ::bisect(bad) - ::bisect(good) ) | ( ::bisect(good) - ::bisect(bad) ) ) - bisect(range) - all ancestors of bad csets that are not ancestors of good csets, or - all ancestors of good csets that are not ancestors of bad csets - but that are not in the bisection range. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue, 20 Sep 2011 20:19:48 +0200 hbisect.get: use simpler code with repo.set(), fix 'pruned' set
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 20 Sep 2011 20:19:48 +0200] rev 15146
hbisect.get: use simpler code with repo.set(), fix 'pruned' set Use repo.set() wherever possible, instead of locally trying to reproduce complex graph computations. 'pruned' now means 'all csets that will no longer be visited by the bisection'. The change is done is this very patch instead of its own dedicated one becasue the code changes all over the place, and the previous 'pruned' code was totally rewritten by the cleanup, so it was easier to just change the behavior at the same time. The previous series went in too fast for this cleanup pass to be included, so here it is. ;-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed, 21 Sep 2011 13:00:48 -0500 help: use RST to format option lists
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:48 -0500] rev 15145
help: use RST to format option lists
Wed, 21 Sep 2011 13:00:47 -0500 minirst: fix column handling for simple tables
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:47 -0500] rev 15144
minirst: fix column handling for simple tables
Wed, 21 Sep 2011 13:00:46 -0500 encoding: add getcols to extract substrings based on column width
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:46 -0500] rev 15143
encoding: add getcols to extract substrings based on column width
Wed, 21 Sep 2011 13:00:41 -0500 encoding: colwidth input is in the local encoding
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:41 -0500] rev 15142
encoding: colwidth input is in the local encoding
Mon, 19 Sep 2011 15:58:03 -0700 mdiff: speed up showfunc for large diffs
Brodie Rao <brodie@bitheap.org> [Mon, 19 Sep 2011 15:58:03 -0700] rev 15141
mdiff: speed up showfunc for large diffs This addresses the following issues with showfunc: - Silly usage of regular expressions. - Doing str.rstrip() needlessly in an inner loop. - Doing catastrophic backtracking when trying to find a function line. Finding function text is now at worst O(n lines in the old file), and at best close to O(n hunks). Given a diff like this[1]: src/main/antlr3/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunker.g | 4 +- src/main/java/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunkerLexer.java | 2 +- src/main/java/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunkerParser.java | 29189 +++++---- 3 files changed, 14741 insertions(+), 14454 deletions(-) [1]: https://bitbucket.org/wwmm/chemicaltagger/changeset/d2bfbaecd4fc/raw Without this change, hg log --stat --config diff.showfunc=1 takes an absurdly long time to complete: CallCount Recursive Total(ms) Inline(ms) module:lineno(function) 32813 0 80.3546 40.6086 mercurial.mdiff:160(yieldhunk) +65062746 0 25.7227 25.7227 +<method 'match' of '_sre.SRE_Pattern' objects> +65062746 0 14.0221 14.0221 +<method 'rstrip' of 'str' objects> +1809 0 0.0009 0.0009 +mercurial.mdiff:148(contextend) +1809 0 0.0003 0.0003 +<len> 65062746 0 25.7227 25.7227 <method 'match' of '_sre.SRE_Pattern' objects> 65062763 0 14.0221 14.0221 <method 'rstrip' of 'str' objects> 543 0 0.1631 0.1631 <zlib.decompress> 3 0 0.0505 0.0505 <mercurial.bdiff.blocks> 31007 0 80.4564 0.0477 mercurial.mdiff:147(_unidiff) +32813 0 80.3546 40.6086 +mercurial.mdiff:160(yieldhunk) +3 0 0.0505 0.0505 +<mercurial.bdiff.blocks> +3618 0 0.0022 0.0022 +mercurial.mdiff:154(contextstart) +5427 0 0.0013 0.0013 +<len> +3 0 0.0001 0.0000 +re:188(compile) 1 0 80.8381 0.0322 mercurial.patch:1777(diffstatdata) +107499 0 0.0235 0.0235 +<method 'startswith' of 'str' objects> +31014 0 80.7820 0.0071 +mercurial.util:1284(iterlines) +3 0 0.0000 0.0000 +<method 'search' of '_sre.SRE_Pattern' objects> +4 0 0.0000 0.0000 +mercurial.patch:1783(addresult) +3 0 0.0000 0.0000 +<method 'group' of '_sre.SRE_Match' objects> 6 0 0.0444 0.0283 mercurial.mdiff:12(splitnewlines) +6 0 0.0160 0.0160 +<method 'split' of 'str' objects> 32 0 0.0246 0.0246 <method 'update' of '_hashlib.HASH' objects> 11 0 0.0236 0.0236 <method 'read' of 'file' objects> Time: real 80.880 secs (user 80.200+0.000 sys 0.380+0.000) With this change, it's almost as fast as not using showfunc at all: CallCount Recursive Total(ms) Inline(ms) module:lineno(function) 543 0 0.1699 0.1699 <zlib.decompress> 3 0 0.0501 0.0501 <mercurial.bdiff.blocks> 32813 0 0.0415 0.0348 mercurial.mdiff:161(yieldhunk) +70837 0 0.0058 0.0058 +<method 'isalnum' of 'str' objects> +1809 0 0.0006 0.0006 +mercurial.mdiff:148(contextend) +1809 0 0.0002 0.0002 +<len> 1 0 0.4879 0.0310 mercurial.patch:1777(diffstatdata) +107499 0 0.0230 0.0230 +<method 'startswith' of 'str' objects> +31014 0 0.4335 0.0065 +mercurial.util:1284(iterlines) +3 0 0.0000 0.0000 +<method 'search' of '_sre.SRE_Pattern' objects> +4 0 0.0000 0.0000 +mercurial.patch:1783(addresult) +1 0 0.0004 0.0000 +re:188(compile) 32 0 0.0293 0.0293 <method 'update' of '_hashlib.HASH' objects> 6 0 0.0427 0.0279 mercurial.mdiff:12(splitnewlines) +6 0 0.0147 0.0147 +<method 'split' of 'str' objects> 31007 0 0.1169 0.0235 mercurial.mdiff:147(_unidiff) +3 0 0.0501 0.0501 +<mercurial.bdiff.blocks> +32813 0 0.0415 0.0348 +mercurial.mdiff:161(yieldhunk) +3618 0 0.0012 0.0012 +mercurial.mdiff:154(contextstart) +5427 0 0.0006 0.0006 +<len> 107597 0 0.0230 0.0230 <method 'startswith' of 'str' objects> 16 0 0.0213 0.0213 <mercurial.mpatch.patches> 194 0 0.0149 0.0149 <method 'split' of 'str' objects> Time: real 0.530 secs (user 0.450+0.000 sys 0.070+0.000)
Mon, 19 Sep 2011 16:28:44 -0500 revset: add 'l' flag to formatspec for args
Matt Mackall <mpm@selenic.com> [Mon, 19 Sep 2011 16:28:44 -0500] rev 15140
revset: add 'l' flag to formatspec for args This makes it easy to calculate a revset with lists: good = [1, 2, 3] bad = [10, 11, 12] between = repo.set('%ld::%ld', good, bad)
Sun, 18 Sep 2011 23:57:49 +0200 bisect: add some bisection examples, and some log revset.bisect() examples
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 23:57:49 +0200] rev 15139
bisect: add some bisection examples, and some log revset.bisect() examples Add a few examples on how to use bisect: - a few bisection examples Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat, 17 Sep 2011 14:33:20 +0200 revset.bisect: add new 'untested' set to the bisect keyword
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 14:33:20 +0200] rev 15138
revset.bisect: add new 'untested' set to the bisect keyword The 'untested' set is made of changesets that are in the bisection range but for which the status is still unknown, and that can later be used to further decide on the bisection outcome. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat, 17 Sep 2011 17:30:35 +0200 revset.bisect: add new 'pruned' set to the bisect keyword
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 17:30:35 +0200] rev 15137
revset.bisect: add new 'pruned' set to the bisect keyword The 'pruned' set is made of changesets that did participate to the bisection. They are made of - all good changesets - all bad changsets - all skipped changesets, provided they are in the bisection range Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat, 17 Sep 2011 17:33:34 +0200 revset.bisect: add new 'range' set to the bisect keyword
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 17:33:34 +0200] rev 15136
revset.bisect: add new 'range' set to the bisect keyword The 'range' set is made of all changesets that make the bisection range, that is - csets that are ancestors of bad csets and descendants of good csets or - csets that are ancestors of good csets and descendants of bad csets That is, roughly equivalent of: bisect(good)::bisect(bad) | bisect(bad)::bisect(good) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat, 17 Sep 2011 00:20:45 +0200 revset.bisect: move bisect() code to hbisect.py
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 00:20:45 +0200] rev 15135
revset.bisect: move bisect() code to hbisect.py Computing the ranges of csets in the bisection belongs to the hbisect code. This allows for reusing the status computation from many places, not only the revset code, but also to later display the bisection status of a cset... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun, 18 Sep 2011 22:54:11 +0200 revset: rename bisected() to bisect()
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 22:54:11 +0200] rev 15134
revset: rename bisected() to bisect() Rename the 'bisected' keyword to simply 'bisect'. Still accept the old name, but no longer advertise it. As discussed with Matt on IRC. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun, 18 Sep 2011 10:07:51 +0200 revset.bisected: remove 'unknown' state
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 10:07:51 +0200] rev 15133
revset.bisected: remove 'unknown' state 'unknown' is not a valid bisect state, so causes a traceback. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon, 19 Sep 2011 16:57:13 +0200 rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 19 Sep 2011 16:57:13 +0200] rev 15132
rebase: allow rebase to ancestor (issue3010) We only deny rebasing onto direct parent. Thanks to the ancestor argument of merge. the "implementation" of this feature only consist in loosing the check and imply detach when rebasing on ancestor.
Sun, 18 Sep 2011 19:59:33 -0400 rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca> [Sun, 18 Sep 2011 19:59:33 -0400] rev 15131
rollback: only restore dirstate and branch when appropriate. If the working dir parent was destroyed by rollback, then the old behaviour is perfectly reasonable: restore dirstate, branch, and bookmarks. That way the working dir moves back to an existing changeset rather than becoming an orphan. But if the working dir parent was unaffected -- say, you updated to an older changeset and then did rollback -- then it's silly to restore dirstate and branch. So don't do that. Leave the status of the working dir alone. (But always restore bookmarks, because that file refers to changeset IDs that may have been destroyed.)
Fri, 16 Sep 2011 21:38:06 -0400 rollback: refactor for readability; cosmetics.
Greg Ward <greg@gerg.ca> [Fri, 16 Sep 2011 21:38:06 -0400] rev 15130
rollback: refactor for readability; cosmetics. - clarify how we parse undo.desc - fix bad grammar in an error message - factor out ui local - rename some local variables - standardize string quoting
Sat, 17 Sep 2011 14:55:55 -0500 help: make optlist local to subfunctions
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:55:55 -0500] rev 15129
help: make optlist local to subfunctions
Sat, 17 Sep 2011 14:50:42 -0500 help: move option list display into subfunctions
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:50:42 -0500] rev 15128
help: move option list display into subfunctions
Sat, 17 Sep 2011 14:46:13 -0500 help: fold header selection into helplist
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:46:13 -0500] rev 15127
help: fold header selection into helplist
Sat, 17 Sep 2011 14:46:00 -0500 help: fold some list help clauses into the helplist function
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:46:00 -0500] rev 15126
help: fold some list help clauses into the helplist function
Sat, 17 Sep 2011 14:17:09 -0500 minirst: end all blocks with newlines
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:17:09 -0500] rev 15125
minirst: end all blocks with newlines Formerly RST blocks were formatted without a trailing newline, which wasn't particularly helpful. Now everything that comes back from the formatter has a trailing newline so remove all the extra ones added by users.
Mon, 19 Sep 2011 14:19:26 +0200 convert: rename local variable
Martin Geisler <mg@aragost.com> [Mon, 19 Sep 2011 14:19:26 +0200] rev 15124
convert: rename local variable
Sat, 17 Sep 2011 13:42:11 -0500 minirst: don't choke on empty text
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:42:11 -0500] rev 15123
minirst: don't choke on empty text
Sat, 17 Sep 2011 13:37:50 -0500 minirst: remove some whitespace
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:50 -0500] rev 15122
minirst: remove some whitespace
Sat, 17 Sep 2011 13:37:49 -0500 minirst: remove pointless transcoding
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:49 -0500] rev 15121
minirst: remove pointless transcoding
Sat, 17 Sep 2011 13:37:47 -0500 tests: fix up help test for new verbose sections
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:47 -0500] rev 15120
tests: fix up help test for new verbose sections
Sat, 17 Sep 2011 13:20:10 -0500 status: add some help examples
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:20:10 -0500] rev 15119
status: add some help examples
Sat, 17 Sep 2011 13:08:24 -0500 forget: add help examples
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:08:24 -0500] rev 15118
forget: add help examples
Sat, 17 Sep 2011 12:34:47 -0500 revsets: add first alias for last
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 12:34:47 -0500] rev 15117
revsets: add first alias for last
Fri, 16 Sep 2011 22:57:47 -0500 revset: add default of 1 to limit and last functions
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 22:57:47 -0500] rev 15116
revset: add default of 1 to limit and last functions
Fri, 16 Sep 2011 17:53:58 -0500 remove: suggest forget to undo adds
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:53:58 -0500] rev 15115
remove: suggest forget to undo adds
Fri, 16 Sep 2011 17:41:36 -0500 remove: simplify help
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:41:36 -0500] rev 15114
remove: simplify help - move the obscure parts into the verbose help - drop confusing references to "remove from repository" / "not remove from history" - add mention of hg forget
Fri, 16 Sep 2011 17:08:18 -0500 import: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:08:18 -0500] rev 15113
import: add help examples
Fri, 16 Sep 2011 16:52:45 -0500 id: add some help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:52:45 -0500] rev 15112
id: add some help examples
Fri, 16 Sep 2011 16:40:27 -0500 export: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:40:27 -0500] rev 15111
export: add help examples
Fri, 16 Sep 2011 16:39:55 -0500 diff: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:39:55 -0500] rev 15110
diff: add help examples
Fri, 16 Sep 2011 15:31:21 -0500 archive: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 15:31:21 -0500] rev 15109
archive: add help examples
Wed, 14 Sep 2011 22:01:39 -0400 test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca> [Wed, 14 Sep 2011 22:01:39 -0400] rev 15108
test-rollback: tinker a bit to make it easier to add more tests.
Thu, 15 Sep 2011 15:03:54 -0400 convert: added bookmarks support in filemap
etienne <etienne.desautels@gmail.com> [Thu, 15 Sep 2011 15:03:54 -0400] rev 15107
convert: added bookmarks support in filemap When using the convert extension from a Mercurial rep. to subset it with filemap, the bookmarks are not copied. I fixed this by calling the base.get_bookmarks() from the filemap getbookmarks() instead of returning an empty dictionary. It should work also for other converters that implement getbookmarks() (like git). I don't see any drawbacks except that the bookmarks are always copied (not necessarily wanted all the times).
Sat, 23 Jul 2011 06:18:18 +0200 util: fix finding of hgexecutable
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:18:18 +0200] rev 15106
util: fix finding of hgexecutable The version introduced in 89d9f92f6fdd would for example return thg (thanks to Mads Kiilerich for pointing to this)
Fri, 16 Sep 2011 14:37:57 -0500 log: add a usage note about --removed
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:57 -0500] rev 15105
log: add a usage note about --removed
Fri, 16 Sep 2011 14:37:56 -0500 log: rearrange the help text a bit
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:56 -0500] rev 15104
log: rearrange the help text a bit
Fri, 16 Sep 2011 14:37:55 -0500 log: add some usage examples to verbose help
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:55 -0500] rev 15103
log: add some usage examples to verbose help
Fri, 16 Sep 2011 14:37:53 -0500 minirst: fix container stripping logic
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:53 -0500] rev 15102
minirst: fix container stripping logic
Wed, 14 Sep 2011 22:28:27 -0400 share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca> [Wed, 14 Sep 2011 22:28:27 -0400] rev 15101
share: allow trailing newline on .hg/sharedpath. This is extremely handy for those occasional circumstances where you need to edit .hg/sharedpath manually, since modern Unix text editors make it surprisingly difficult to create a text file with no trailing newline.
Wed, 07 Sep 2011 10:24:26 -0400 contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com> [Wed, 07 Sep 2011 10:24:26 -0400] rev 15100
contrib: some support for named branches in zsh_completion (issue2988) named branches were not included for autocompletion in zsh. by adding _hg_branches and calling it from _hg_labels, named branches are now included when autocompleting many commands in zsh. support for completion of hg log -b was also added. there are possibly other cases where support needs to be explicitly added.
Wed, 14 Sep 2011 17:06:33 +0200 test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch> [Wed, 14 Sep 2011 17:06:33 +0200] rev 15099
test: test for options duplicate with global options issue2995 should not happen anymore
Wed, 14 Sep 2011 14:37:10 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 14 Sep 2011 14:37:10 -0500] rev 15098
merge with stable
Sun, 11 Sep 2011 21:21:58 -0400 rollback: improve readability; clarify that the return value is an int.
Greg Ward <greg-hg@gerg.ca> [Sun, 11 Sep 2011 21:21:58 -0400] rev 15097
rollback: improve readability; clarify that the return value is an int.
Mon, 22 Aug 2011 22:50:52 +0200 demandimport: determine at load time if __import__ has level argument
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Aug 2011 22:50:52 +0200] rev 15096
demandimport: determine at load time if __import__ has level argument
Tue, 13 Sep 2011 17:01:07 -0500 win32: quietly ignore missing CreateHardLinkA for Wine stable
Matt Mackall <mpm@selenic.com> [Tue, 13 Sep 2011 17:01:07 -0500] rev 15095
win32: quietly ignore missing CreateHardLinkA for Wine
Thu, 08 Sep 2011 11:34:59 +0100 osutil: avoid accidentally destroying the True object in isgui (issue2937) stable
Steve Streeting <steve@stevestreeting.com> [Thu, 08 Sep 2011 11:34:59 +0100] rev 15094
osutil: avoid accidentally destroying the True object in isgui (issue2937) Needed to use 'Py_RETURN_TRUE' instead of 'return Py_True' to avoid reference count errors which would randomly crash the Python executable during merge. This only happened when you had something configured in merge-tools and the merge was large enough.
Wed, 14 Sep 2011 13:57:56 +0200 merge with stable
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:57:56 +0200] rev 15093
merge with stable
Wed, 14 Sep 2011 13:57:31 +0200 merge
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:57:31 +0200] rev 15092
merge
Wed, 14 Sep 2011 13:51:50 +0200 bundlerepo: add argument check before unlink stable
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:51:50 +0200] rev 15091
bundlerepo: add argument check before unlink The default argument value of None, for bundlename, would cause an exception. Callers currently pass an empty string, thus dodging this problem.
Mon, 12 Sep 2011 09:20:31 -0700 test-setdiscovery: allow for leading space in output of wc
Lee Cantey <lcantey@gmail.com> [Mon, 12 Sep 2011 09:20:31 -0700] rev 15090
test-setdiscovery: allow for leading space in output of wc
(0) -10000 -3000 -1000 -300 -100 -96 +96 +100 +300 +1000 +3000 +10000 +30000 tip