Mon, 03 Dec 2012 14:03:52 -0600 Added tag 2.4.1 for changeset 0c10cf819146 stable
Matt Mackall <mpm@selenic.com> [Mon, 03 Dec 2012 14:03:52 -0600] rev 18022
Added tag 2.4.1 for changeset 0c10cf819146
Fri, 30 Nov 2012 17:40:11 -0800 osutil: fix tab damage
Bryan O'Sullivan <bryano@fb.com> [Fri, 30 Nov 2012 17:40:11 -0800] rev 18021
osutil: fix tab damage
Fri, 30 Nov 2012 15:56:09 -0800 Merge with crew
Bryan O'Sullivan <bryano@fb.com> [Fri, 30 Nov 2012 15:56:09 -0800] rev 18020
Merge with crew
Fri, 30 Nov 2012 15:55:09 -0800 osutil: factor out creation and init of listdir_stat
Bryan O'Sullivan <bryano@fb.com> [Fri, 30 Nov 2012 15:55:09 -0800] rev 18019
osutil: factor out creation and init of listdir_stat
Fri, 30 Nov 2012 15:55:08 -0800 dirstate: avoid use of zip on big lists
Bryan O'Sullivan <bryano@fb.com> [Fri, 30 Nov 2012 15:55:08 -0800] rev 18018
dirstate: avoid use of zip on big lists In a clean working directory containing 170,000 tracked files, this improves performance of "hg --time diff" from 1.69 seconds to 1.43. This idea is due to Siddharth Agarwal.
Fri, 30 Nov 2012 15:55:07 -0800 dirstate: move file type filtering to its source
Bryan O'Sullivan <bryano@fb.com> [Fri, 30 Nov 2012 15:55:07 -0800] rev 18017
dirstate: move file type filtering to its source This prepares us to move to a much faster statfiles implementation on Unix.
Fri, 30 Nov 2012 22:34:21 +0100 clfilter: rename `unfilteredmeth` to `unfilteredmethod`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Nov 2012 22:34:21 +0100] rev 18016
clfilter: rename `unfilteredmeth` to `unfilteredmethod` As originally intended.
Fri, 30 Nov 2012 21:47:04 +0100 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 30 Nov 2012 21:47:04 +0100] rev 18015
clfilter: fix a false positive in the test-obsolete.t We push between two repo which once filtered looks unrelated. Weakness in the current implementation allows this push to be done without -f. But later improvement with filtering will make this push fails for unrelatedness. However we want this push to fail for including bumped changeset. So we had a smaller push --force to make them related.
Mon, 08 Oct 2012 19:34:04 +0200 clfilter: ensure that filecache on localrepo is unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Oct 2012 19:34:04 +0200] rev 18014
clfilter: ensure that filecache on localrepo is unfiltered All filecache usage on repo is for logic that should be unfiltered. The caches should be common to all filtered instances, and computation must be done unfiltered. A dedicated storecache subclass is created for this purpose.
Mon, 08 Oct 2012 20:02:20 +0200 clfilter: add a propertycache that must be unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Oct 2012 20:02:20 +0200] rev 18013
clfilter: add a propertycache that must be unfiltered Some of the localrepo property caches must be computed unfiltered and stored globally. Some others must see the filtered version and store data relative to the current filtering. This changeset introduces two classes `unfilteredpropertycache` and `filteredpropertycache` for this purpose. A new function `hasunfilteredcache` is introduced for unambiguous checking for cached values on unfiltered repos. A few tweaks are made to the property cache class to allow overriding the way the computed value is stored on the object. Some logic relative to _tagcaches is cleaned up in the process.
Mon, 08 Oct 2012 18:11:56 +0200 largefile: status is buggy on repoproxy, so run unfiltered
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 18:11:56 +0200] rev 18012
largefile: status is buggy on repoproxy, so run unfiltered For some yet-unkown reason, largefile status does not work on repoproxy. As status is not affected by filtering, we run it unfiltered. Na'Tosha Bard's view on this issue: "but, well, largefiles status is kind of an unholy piece of code"
Mon, 08 Oct 2012 20:01:40 +0200 clfilter: mq should not warn about filtered mq patches
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 20:01:40 +0200] rev 18011
clfilter: mq should not warn about filtered mq patches MQ warns when qstatus contains unknown nodes. With changelog filtering, a node may be unknown because it is filtered. Thus, an unfiltered repo is used for this check.
Mon, 08 Oct 2012 18:02:25 +0200 clfilter: ensure that mq performs commits on unfiltered repos
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 18:02:25 +0200] rev 18010
clfilter: ensure that mq performs commits on unfiltered repos
Mon, 08 Oct 2012 17:50:02 +0200 clfilter: use unfiltered repo for bookmark push logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:50:02 +0200] rev 18009
clfilter: use unfiltered repo for bookmark push logic The remote location of the bookmark may be filtered locally. This changeset ensures that bookmark movement logic has access to all the repo's content.
Mon, 08 Oct 2012 17:26:23 +0200 clfilter: `bookmark.validdest` should run on unfiltered repo
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:26:23 +0200] rev 18008
clfilter: `bookmark.validdest` should run on unfiltered repo The logic recently added to `bookmark.validdest` uses data about obsolete changesets to see if a bookmark destination is valid. Obsolete changesets are likely to be filtered, so we need to work on an unfiltered repository.
Mon, 08 Oct 2012 17:41:07 +0200 clfilter: unfilter some parts of the push logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:41:07 +0200] rev 18007
clfilter: unfilter some parts of the push logic Computation of common changesets during push needs to be done on the widest set possible. An unfiltered version of the repo is kept for discovery and various revset calls. The discovery code itself enforces the filtering of unserved outgoing changeset.
Fri, 30 Nov 2012 00:43:55 +0900 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API) stable 2.4.1
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 30 Nov 2012 00:43:55 +0900] rev 18006
subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API) Color extension achieves colorization by overriding the class of "ui" object just before command execution. Before this patch, "diff()" of abstractsubrepo and classes derived from it has no "ui" argument, so "diff()" of hgsubrepo uses "self._repo.ui" to invoke "cmdutil.diffordiffstat()". For separation of configuration between repositories, revision 573bec4ab7ba changed the initialization source of "self._repo.ui" from "ui"(overridden) to "baseui"(plain) of parent repository. And this caused break of colorization. This patch adds "ui" argument to "diff()" of abstractsubrepo and classes derived from it to pass "ui" object of caller side.
Mon, 08 Oct 2012 17:15:08 +0200 clfilter: prevent unwanted warning about filtered parents as unknown
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:15:08 +0200] rev 18005
clfilter: prevent unwanted warning about filtered parents as unknown During changectx __init__ the dirstate's parents MAY be checked. If the repo is filtered, this check will complain "working directory has unknown parents" even if the parents are perfectly known. This may happen when the repo is used for serving and the dirstate has parents that are secret, as those secret changesets will be filtered.
Mon, 08 Oct 2012 17:12:09 +0200 clfilter: strip logic should be unfiltered
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:12:09 +0200] rev 18004
clfilter: strip logic should be unfiltered Strip is a "write" operation that needs to be aware of the whole repo's content before destroying changesets. Only the low level function is altered. The top level command will still process its argument filtered (if any filtering is in place).
Mon, 08 Oct 2012 17:08:52 +0200 clfilter: verify logic should be unfiltered
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 17:08:52 +0200] rev 18003
clfilter: verify logic should be unfiltered To verify a changelog obviously needs all of it. The verify logic now ensures it works on an unfiltered repository.
Wed, 21 Nov 2012 00:53:45 +0100 clfilter: phases logic should be unfiltered
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 21 Nov 2012 00:53:45 +0100] rev 18002
clfilter: phases logic should be unfiltered Phase computations and boundary movements need to be aware of all revisions that exist in the repository to return correct results.
Mon, 08 Oct 2012 16:55:00 +0200 clfilter: unfilter computation of obsolescence related computation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 16:55:00 +0200] rev 18001
clfilter: unfilter computation of obsolescence related computation All obsolescence related sets need to be computed on the full unfiltered version of the repository, in particular because several of them (obsolete, extinct) are used to compute the hidden revisions. On a filtered repo, revset predicates related to these sets will be properly filtered because of revset's own pre-filtering.
Mon, 26 Nov 2012 19:24:11 +0100 clfilter: ensure changeset creation in the repo is run unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:24:11 +0100] rev 18000
clfilter: ensure changeset creation in the repo is run unfiltered This applies to both creation of new commits and application of changegroups.
Mon, 26 Nov 2012 19:23:25 +0100 clfilter: ensure changegroup generation is run unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:23:25 +0100] rev 17999
clfilter: ensure changegroup generation is run unfiltered Changegroup generation logic needs to be aware of the whole repository to work properly.
Mon, 26 Nov 2012 19:21:24 +0100 clfilter: ensure `rollback` is run unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:21:24 +0100] rev 17998
clfilter: ensure `rollback` is run unfiltered Rollback logic needs to be aware of the whole repository to work properly.
Mon, 26 Nov 2012 19:22:12 +0100 clfilter: ensure cache invalidation is done on the main unfiltered repo
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:22:12 +0100] rev 17997
clfilter: ensure cache invalidation is done on the main unfiltered repo The proxy version will not hold any cache for now. But we have to ensure all cache operations are done on the unfiltered version.
Mon, 26 Nov 2012 19:26:24 +0100 clfilter: ensure that tag logic runs unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:26:24 +0100] rev 17996
clfilter: ensure that tag logic runs unfiltered The current tag logic is not aware of filtering. We keep the status quo, ensuring that the tag cache is computed as before: without any filtering.
Mon, 26 Nov 2012 19:25:44 +0100 clfilter: ensure `branchcache` logic runs unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:25:44 +0100] rev 17995
clfilter: ensure `branchcache` logic runs unfiltered The current branchcache construction is not aware of filtering. We keep the status quo, ensuring that the branch cache logic is computed as before: without any filtering.
Mon, 26 Nov 2012 19:11:13 +0100 clfilter: introduce an `unfilteredmethod` decorator
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 26 Nov 2012 19:11:13 +0100] rev 17994
clfilter: introduce an `unfilteredmethod` decorator This decorator ensure the method in run on an unfiltered version of the repository. See follow-up commit for details. This decorator is not named `unfiltered` because it would clash with the `unfilteredmethod` on `localrepo` itself.
Wed, 21 Nov 2012 00:36:29 +0100 clfilter: introduce an "unfiltered" method on localrepo
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 21 Nov 2012 00:36:29 +0100] rev 17993
clfilter: introduce an "unfiltered" method on localrepo This commit is part of the changelog level filtering effort. It returns the main "unfiltered" version of a repo-like object. For localrepo this means the same localrepo object. But this method will be overwritten by the filtered versions of a repository to return the core unfiltered version of the repo. Introducing this simple method first allows later commits to prepare for the use of a filtered version of a repository. A new repo method is added because a lot of users may call it. At the end of this series of commits, about 40 calls exist in core and hgext.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip