Thu, 29 Nov 2012 16:37:15 +0100 rebase: fix pull --rev options clashing with --rebase (issue3619) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 29 Nov 2012 16:37:15 +0100] rev 17988
rebase: fix pull --rev options clashing with --rebase (issue3619) Rebase also have a plain `--rev` option used to select the rebase set (as `--base` or `--source` would). But the content of the --rev option was intended for the remote repo and is irrelevant for the local rebase operation. We expect `hg pull --rebase` to stick with the default behavior here: hg rebase --base . --dest tip(branch(.)) The `rev` option is dropped from the option passed to rebase.
Thu, 29 Nov 2012 08:44:54 -0500 dirstate: remove obsolete comment from setbranch
Tim Henigan <tim.henigan@gmail.com> [Thu, 29 Nov 2012 08:44:54 -0500] rev 17987
dirstate: remove obsolete comment from setbranch This comment should have been removed in e689b0d91546, when the call to scmutil.checknewlabel was removed.
Wed, 28 Nov 2012 18:08:51 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Nov 2012 18:08:51 -0600] rev 17986
merge with stable
Wed, 28 Nov 2012 17:53:52 -0600 tests: fix broken fix of test-phases output stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Nov 2012 17:53:52 -0600] rev 17985
tests: fix broken fix of test-phases output
Tue, 27 Nov 2012 08:47:35 -0500 update: allow update to existing branches with invalid names (issue3710) stable
Tim Henigan <tim.henigan@gmail.com> [Tue, 27 Nov 2012 08:47:35 -0500] rev 17984
update: allow update to existing branches with invalid names (issue3710) Starting with 361ab1e2086f, users are no longer able to update a working copy to a branch named with a "bad" character (such as ':'). Prior to v2.4, it was possible to create branch names using "bad" characters, so this breaks backwards compatibility. Mercurial must allow users to update to existing branches with bad names. However, it should continue to prevent the creation of new branches with bad names. A test was added to confirm that 'hg update' works as expected. The test uses a bundled repo that was created with an earlier version of Mercurial.
Mon, 19 Nov 2012 16:05:40 -0800 commit: increase perf by building a new addlist instead of editing the old one
Durham Goode <durham@fb.com> [Mon, 19 Nov 2012 16:05:40 -0800] rev 17983
commit: increase perf by building a new addlist instead of editing the old one When commiting to a repo with lots of files (>170000), manifest.py:addlistdelta takes some time because it's editing a large array many times. Changing it to build a new array instead of editing the old one saves around 0.04 seconds on a 1.64 second commit. A 2.5% gain. The gain here is pretty minor, but it was blatantly at the top of the profiler report and the fix is straight forward. I tested it by comparing the arrays produced by the new and old logic while running all of the tests.
Wed, 28 Nov 2012 14:55:42 -0800 template engine: convert generator-based iterator to list-based iterator
Weiwen <weiwen@fb.com> [Wed, 28 Nov 2012 14:55:42 -0800] rev 17982
template engine: convert generator-based iterator to list-based iterator If a template iterator is implemented with generator, the iterator is exhau= sted after we use it. This leads to undesired behavior in template. This chang= e converts a generator-based iterator to list-based iterator when template en= gine first detects a generator-based iterator. All future usages of iterator wi= ll use list instead.
Wed, 28 Nov 2012 11:20:56 +0100 command: remove phase from the list of basic command stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 28 Nov 2012 11:20:56 +0100] rev 17981
command: remove phase from the list of basic command This is not a basic command. There is no reason new user should needs to know about it. Thanks to Matt Mackall for pointing this.
Wed, 28 Nov 2012 16:15:05 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Nov 2012 16:15:05 -0600] rev 17980
merge with stable
Sun, 25 Nov 2012 20:39:37 +0100 phases: fix missing "error" module import (issue3707) stable
André Sintzoff <andre.sintzoff@gmail.com> [Sun, 25 Nov 2012 20:39:37 +0100] rev 17979
phases: fix missing "error" module import (issue3707)
Thu, 08 Nov 2012 11:54:08 +0100 test-mq-qrefresh: test that the patch at qtip is indeed empty
Adrian Buehlmann <adrian@cadifra.com> [Thu, 08 Nov 2012 11:54:08 +0100] rev 17978
test-mq-qrefresh: test that the patch at qtip is indeed empty ...after qrefreshing a non-existent file
Mon, 26 Nov 2012 15:59:02 -0600 tests: only call check-code once
Matt Mackall <mpm@selenic.com> [Mon, 26 Nov 2012 15:59:02 -0600] rev 17977
tests: only call check-code once The accepted warnings list is now empty, let's try to keep it that way.
Wed, 28 Nov 2012 10:35:12 -0800 ancestor: fix a comment (followup to 0b03454abae7)
Siddharth Agarwal <sid0@fb.com> [Wed, 28 Nov 2012 10:35:12 -0800] rev 17976
ancestor: fix a comment (followup to 0b03454abae7)
Wed, 21 Nov 2012 00:42:05 +0100 revlog: allow reverse iteration with revlog.revs
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 21 Nov 2012 00:42:05 +0100] rev 17975
revlog: allow reverse iteration with revlog.revs We often need to perform rev iteration in reverse order. This changeset makes it possible to do so, in order to avoid costly reverse or reversed() calls later.
Sun, 18 Nov 2012 12:26:50 -1000 convert: add config option to use the local time zone
Julian Cowley <julian@lava.net> [Sun, 18 Nov 2012 12:26:50 -1000] rev 17974
convert: add config option to use the local time zone The default for the time zone offset in a converted changeset has always been 0 (UTC). With this patch, the converted changeset is modified so that the local offset from UTC is specified as the time zone offset. The option is specified as the boolean convert.localtimezone (default False). Example usage: hg convert -s cvs --config convert.localtimezone=True example-cvs example-hg IMPORTANT: the patch only applies to conversions from cvs or svn. The documentation for the option only appears in those two sections in the convert help text.
Tue, 27 Nov 2012 16:24:21 -0800 rebase: use revlog.findmissingrevs to compute detach set
Siddharth Agarwal <sid0@fb.com> [Tue, 27 Nov 2012 16:24:21 -0800] rev 17973
rebase: use revlog.findmissingrevs to compute detach set
Mon, 26 Nov 2012 10:48:24 -0800 revlog: add rev-specific variant of findmissing
Siddharth Agarwal <sid0@fb.com> [Mon, 26 Nov 2012 10:48:24 -0800] rev 17972
revlog: add rev-specific variant of findmissing This will be used by rebase in an upcoming commit.
Mon, 26 Nov 2012 11:02:48 -0800 revlog: switch findmissing to use ancestor.missingancestors
Siddharth Agarwal <sid0@fb.com> [Mon, 26 Nov 2012 11:02:48 -0800] rev 17971
revlog: switch findmissing to use ancestor.missingancestors This also speeds up other commands that use findmissing, like incoming and merge --preview. With a large linear repository (>400000 commits) and with one incoming changeset, incoming is sped up from around 4-4.5 seconds to under 3.
Mon, 26 Nov 2012 11:46:51 -0800 ancestor: faster algorithm for difference of ancestor sets
Siddharth Agarwal <sid0@fb.com> [Mon, 26 Nov 2012 11:46:51 -0800] rev 17970
ancestor: faster algorithm for difference of ancestor sets One of the major reasons rebase is slow in large repositories is the computation of the detach set: the set of ancestors of the changesets to rebase not in the destination parent. This is currently done via a revset that does two walks all the way to the root of the DAG. Instead of doing that, to find ancestors of a set <revs> not in another set <common> we walk up the tree in reverse revision number order, maintaining sets of nodes visited from <revs>, <common> or both. For the common case where the sets are close both topologically and in revision number (relative to repository size), this has been found to speed up rebase by around 15-20%. When the nodes are farther apart and the DAG is highly branching, it is harder to say which would win. Here's how long computing the detach set takes in a linear repository with over 400000 changesets, rebasing near tip: Rebasing across 4 changesets Revset method: 2.2s New algorithm: 0.00015s Rebasing across 250 changesets Revset method: 2.2s New algorithm: 0.00069s Rebasing across 10000 changesets Revset method: 2.4s New algorithm: 0.019s
Fri, 23 Nov 2012 11:59:44 -0500 bisect: add example for limiting bisection to specified directories
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 23 Nov 2012 11:59:44 -0500] rev 17969
bisect: add example for limiting bisection to specified directories The bisect command does not have an option to limit itself only to subdirectories, but it's possible to use revsets for the --skip option for the same effect. Given the relative obscurity of revsets, it helps to have this as another example for bisect.
Tue, 27 Nov 2012 14:58:00 -0800 subrepo: use posixpath when diffing, for consistent paths
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 14:58:00 -0800] rev 17968
subrepo: use posixpath when diffing, for consistent paths This fixes a Windows failure in test-subrepo-recursion.t introduced by c84ef0047a94.
Tue, 27 Nov 2012 13:09:05 -0800 run-tests: fix an unnoticed check-code violation
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 13:09:05 -0800] rev 17967
run-tests: fix an unnoticed check-code violation
Tue, 27 Nov 2012 11:18:33 -0800 run-tests: add a --compiler option
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 11:18:33 -0800] rev 17966
run-tests: add a --compiler option Without this option, it is not possible to run the test suite on Windows using mingw's gcc as the compiler.
Tue, 27 Nov 2012 11:18:31 -0800 run-tests: make build command line less intimidating
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 11:18:31 -0800] rev 17965
run-tests: make build command line less intimidating Use a dict for parameters to the format string, instead of a ridiculous number of positional parameters.
Mon, 26 Nov 2012 17:48:39 -0600 hooks: be even more forgiven of non-fd descriptors (issue3711) stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Nov 2012 17:48:39 -0600] rev 17964
hooks: be even more forgiven of non-fd descriptors (issue3711) Looks like there are instances where sys.stdout/stderr contain file handles that are invalid. We should be tolerant of this for hook I/O redirection, as our primary concern is not garbling our own output stream.
Mon, 26 Nov 2012 16:14:22 -0600 hooks: delay I/O redirection until we actually run a hook (issue3711) stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Nov 2012 16:14:22 -0600] rev 17963
hooks: delay I/O redirection until we actually run a hook (issue3711) We were attempting to redirect I/O even if no hook was actually getting called. This defers redirection until we've found something to do.
Mon, 26 Nov 2012 15:42:52 -0600 util: make chunkbuffer non-quadratic on Windows stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Nov 2012 15:42:52 -0600] rev 17962
util: make chunkbuffer non-quadratic on Windows The old str-based += collector performed very nicely on Linux, but turns out to be quadratically expensive on Windows, causing chunkbuffer to dominate in profiles. This list-based version has been measured to significantly improve performance with large chunks on Windows, with negligible overall overhead on Linux (though microbenchmarks show it to be about 50% slower). This may increase memory overhead where += didn't behave quadratically. If we want to gather up 1G of data to join, we temporarily have 1G in our list and 1G in our string.
Mon, 26 Nov 2012 13:44:11 -0600 revset: backed out changeset 54cedee86e51 stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Nov 2012 13:44:11 -0600] rev 17961
revset: backed out changeset 54cedee86e51 This was causing clones of the hg repo to go from 12.4s to 14.7s.
Wed, 07 Nov 2012 14:49:44 +0100 hgk: specify some colours explicitly in hex
Andrew Shadura <bugzilla@tut.by> [Wed, 07 Nov 2012 14:49:44 +0100] rev 17960
hgk: specify some colours explicitly in hex Tk 8.6b3 uses web colours, where green is defined as #008000, not #00ff00, and grey is #c0c0c0, not #808080, so specify those colours explicitly.
Tue, 16 Oct 2012 22:19:08 +0200 hgk: no committer please
Andrew Shadura <bugzilla@tut.by> [Tue, 16 Oct 2012 22:19:08 +0200] rev 17959
hgk: no committer please Generate committer only if we really have it. Update test-hgk.t accordingly.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip