Fri, 04 Jan 2013 13:03:44 -0600 merge with crew-stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 04 Jan 2013 13:03:44 -0600] rev 18225
merge with crew-stable
Fri, 04 Jan 2013 19:06:42 +0100 dispatch: handle empty `testedwith` value in extension stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 19:06:42 +0100] rev 18224
dispatch: handle empty `testedwith` value in extension When extensions had an empty `testedwith` attribute the code tried to parse it and failed. As a result the actual error were shallowed by a This crash. We now treat empty strip as 'unknown'
Fri, 04 Jan 2013 19:05:20 +0100 destroyed: filter unknown before computing branchcache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 19:05:20 +0100] rev 18223
destroyed: filter unknown before computing branchcache Branchcache of filtered version need up to date phase data.
Wed, 02 Jan 2013 01:36:57 +0100 branchmap: disable fallback to unfiltered branchcache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Jan 2013 01:36:57 +0100] rev 18222
branchmap: disable fallback to unfiltered branchcache Disables this simple optimisation to allow coming more powerfull approach: cache collaboration. Our goal is to have branchcache collaborate. This means that unfiltered branchcache will fallback to some filtered branchcache if invalid. We can't have the filtered branchcache to use the unfiltered one. That would loop.
Fri, 21 Dec 2012 17:19:52 +0100 localrepo: filter unknown nodes from the phasecache on destroyed
Idan Kamara <idankk86@gmail.com> [Fri, 21 Dec 2012 17:19:52 +0100] rev 18221
localrepo: filter unknown nodes from the phasecache on destroyed When commit is followed by strip (qrefresh), phasecache contains nodes that were removed from the changelog. Since phasecache is filecached with .hg/store/phaseroots which doesn't change as a result of stripping, we have to filter it manually. If we don't write it immediately, the next time it is read from disk the nodes will be filtered again. That's what happened before, but there's no reason not to write it immediately. The change in test-keyword.t is caused by the above.
Fri, 04 Jan 2013 06:11:29 +0100 phases: make _filterunknown a member function of phasecache
Idan Kamara <idankk86@gmail.com> [Fri, 04 Jan 2013 06:11:29 +0100] rev 18220
phases: make _filterunknown a member function of phasecache We'd like the ability to call filterunknown on an existing phasecache instance after nodes are destroyed.
Fri, 04 Jan 2013 01:37:38 +0100 localrepo: drop `_cacheabletip` method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:37:38 +0100] rev 18219
localrepo: drop `_cacheabletip` method It iss dead code now.
Fri, 04 Jan 2013 01:25:55 +0100 branchmap: drop `_cacheabletip` usage in `updatecache`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:25:55 +0100] rev 18218
branchmap: drop `_cacheabletip` usage in `updatecache` Nobody overwrite the `_cacheabletip` any more. We always update the cache for the whole repo and write it to disk (or at list try to). The `updatecache` code is simplied to remove the double phase logic associated with _cacheabletip.
Fri, 28 Dec 2012 03:42:21 +0100 mq: drop `_cacheabletip` usage
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 28 Dec 2012 03:42:21 +0100] rev 18217
mq: drop `_cacheabletip` usage Strip have dedicated work around to solve the same problem, strip is even a fraction faster without that thanks to simpler update process of the branchcache.
Fri, 28 Dec 2012 02:34:32 +0100 bundlerepo: drop use of `_cacheabletip`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Dec 2012 02:34:32 +0100] rev 18216
bundlerepo: drop use of `_cacheabletip` Now that bundlerepo use a read only VFS, we do not worry about what part of the branchmap is written back to disk. Nothing is written at all.
Fri, 28 Dec 2012 02:32:47 +0100 bundlerepo: enforce reading from core repo only
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 28 Dec 2012 02:32:47 +0100] rev 18215
bundlerepo: enforce reading from core repo only We do not want anything computed with the bundle overlay to be written back in the repo. Such write will likely contains invalid data. The short terms goal of this change is to drop use of `_cacheabletip` in bundle repo.
Fri, 04 Jan 2013 04:52:57 +0100 branchmap: ignore Abort error while writing cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 04:52:57 +0100] rev 18214
branchmap: ignore Abort error while writing cache Read only vfs can now raise Abort exception. Note that encoding.local are also a possible raiser.
Fri, 04 Jan 2013 01:07:25 +0100 vfs: add a read only vfs
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:07:25 +0100] rev 18213
vfs: add a read only vfs This read only wrapper is intended to be used bundle repo. See follow up commit for details.
Sat, 22 Dec 2012 19:41:11 +0100 branchmap: read return None in case of failure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 22 Dec 2012 19:41:11 +0100] rev 18212
branchmap: read return None in case of failure This makes a clear distinction between having read a valid cache on disk or not. This will help caches of various filtering level to collaborate.
Sat, 29 Dec 2012 00:40:18 +0100 clfilter: fallback to unfiltered version when linkrev point to filtered history
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Dec 2012 00:40:18 +0100] rev 18211
clfilter: fallback to unfiltered version when linkrev point to filtered history On `filectx`, linkrev may point to any revision in the repository. When the repository is filtered this may lead to `filectx` trying to build `changectx` for filtered revision. In such case we fallback to creating `changectx` on the unfiltered version of the reposition. This fallback should not be an issue because `changectx` from `filectx` are not used in complex operation that care about filtering. It is complicated to work around the issue in a clearer way as code raising such `filectx` rarely have access to the repository directly. Linkrevs create a lot of issue with filtering. It is stored in revlog entry at creation time and never changed. Nothing prevent the changeset revision pointed to become filtered. Several bogus behavior emerge from such situation. Those bugs are complex to solve and not part of the current effort to install filtering. This changeset is simple hack that prevent plain crash in favor on minor misbehavior without visible effect. This "hack" is longly documented in to code itself to help people that would look at it in the future.
Mon, 24 Dec 2012 11:58:40 +0100 phases: prepare phase command for filtering
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Dec 2012 11:58:40 +0100] rev 18210
phases: prepare phase command for filtering The phase command have some logic to report change made. We ensure this logic run unfiltered. With --force the command can change phase of a changeset for public to draft. Such change can lead to obsolescence marker to apply again and the changeset to be "hidden". If we do not run the logic unfiltered it could failed to fetch the phase of a newly filtered changeset.
Mon, 24 Dec 2012 11:57:48 +0100 phases: avoid changectx creation while checking command result
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 11:57:48 +0100] rev 18209
phases: avoid changectx creation while checking command result This minor changesets saves the creation of a `changectx` ctx object only used to fetch the revision number.
Tue, 04 Dec 2012 15:25:22 +0100 test: use obsolescence marker to test hidden
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 04 Dec 2012 15:25:22 +0100] rev 18208
test: use obsolescence marker to test hidden Instead of using a custom dedicated extension.
Wed, 02 Jan 2013 13:59:07 +0100 test-command-template.t: make "age" filter test work on Feb 29th stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 02 Jan 2013 13:59:07 +0100] rev 18207
test-command-template.t: make "age" filter test work on Feb 29th reported by Julien Cristau.
Wed, 02 Jan 2013 00:24:28 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 02 Jan 2013 00:24:28 -0600] rev 18206
merge with stable
Wed, 02 Jan 2013 00:07:43 -0600 Added signature for changeset a4765077b65e stable
Matt Mackall <mpm@selenic.com> [Wed, 02 Jan 2013 00:07:43 -0600] rev 18205
Added signature for changeset a4765077b65e
Wed, 02 Jan 2013 00:07:40 -0600 Added tag 2.4.2 for changeset a4765077b65e stable
Matt Mackall <mpm@selenic.com> [Wed, 02 Jan 2013 00:07:40 -0600] rev 18204
Added tag 2.4.2 for changeset a4765077b65e
Wed, 02 Jan 2013 00:03:31 -0600 merge with i18n stable 2.4.2
Matt Mackall <mpm@selenic.com> [Wed, 02 Jan 2013 00:03:31 -0600] rev 18203
merge with i18n
Wed, 02 Jan 2013 00:02:22 -0600 merge i18n heads stable
Matt Mackall <mpm@selenic.com> [Wed, 02 Jan 2013 00:02:22 -0600] rev 18202
merge i18n heads
Thu, 20 Dec 2012 19:22:12 +0100 hgweb, paper: add (Atom) subscribe links to the repository index
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 20 Dec 2012 19:22:12 +0100] rev 18201
hgweb, paper: add (Atom) subscribe links to the repository index This is similar to the subscribe links that already exist in other templates. Rather than the usual RSS and Atom links a single feed icon linking to the atom-log is shown.
Tue, 04 Dec 2012 00:41:29 +0100 hgweb: add (Atom) subscribe link to the main paper template pages
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 04 Dec 2012 00:41:29 +0100] rev 18200
hgweb: add (Atom) subscribe link to the main paper template pages The subscribe link is found at the bottom of the navigation sidebar. This uses a free icon from http://feedicons.com.
Mon, 31 Dec 2012 21:50:35 -0600 test-command-template.t: fix test so it all year stable
Augie Fackler <raf@durin42.com> [Mon, 31 Dec 2012 21:50:35 -0600] rev 18199
test-command-template.t: fix test so it all year This test started failing for me after midnight UTC on December 31st. Fixed it by specifying a date 7 years in the future more precisely (rather than just adding 8 to the year and specifying January 1st), which allows the test to pass both now and on 2012-12-01 at the same time.
Sun, 30 Dec 2012 03:49:15 +0100 amend: prevent loss of bookmark on failed amend stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Dec 2012 03:49:15 +0100] rev 18198
amend: prevent loss of bookmark on failed amend The active bookmark were moved to the temporary commit. When the transaction were rollbacked, the bookmark were lost. We now temporarly disable the bookmark to prevent this effect.
Sat, 29 Dec 2012 18:00:18 +0100 amend: invalidate dirstate in case of failure (issue3670) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Dec 2012 18:00:18 +0100] rev 18197
amend: invalidate dirstate in case of failure (issue3670) The temporary commit created by amend update the dirstate. If the final commit fails, we need to invalidate the change made to the dirstate, otherwise the release of the wlock will write the dirstate created after the rollbacked temporary commit. This dirstate writing logic should probably be handled in the same object than the transaction one. However such change are too big for stable.
Sat, 24 Nov 2012 01:40:39 +0400 i18n-ru: delete loose letter stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Sat, 24 Nov 2012 01:40:39 +0400] rev 18196
i18n-ru: delete loose letter
Thu, 27 Dec 2012 07:32:51 +0000 i18n-ru: synchonized with 777084ac8416 stable
Alexander Sauta <demosito@gmail.com> [Thu, 27 Dec 2012 07:32:51 +0000] rev 18195
i18n-ru: synchonized with 777084ac8416
Thu, 20 Dec 2012 16:36:45 -0600 paper: sanity-check page feed links stable
Matt Mackall <mpm@selenic.com> [Thu, 20 Dec 2012 16:36:45 -0600] rev 18194
paper: sanity-check page feed links filelog has feeds in header, but not in menu bar help has header feeds pointing to tags
Sun, 30 Dec 2012 19:19:52 +0100 zeroconf: use port from server instead of picking port from config (issue3746) stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 30 Dec 2012 19:19:52 +0100] rev 18193
zeroconf: use port from server instead of picking port from config (issue3746) In order to get the port, wrap create server instead of hgweb_mod/hgwebdir_mod.
Thu, 20 Dec 2012 15:52:23 -0600 scmutil: don't try to match modes on filesystems without modes (issue3740) stable
Matt Mackall <mpm@selenic.com> [Thu, 20 Dec 2012 15:52:23 -0600] rev 18192
scmutil: don't try to match modes on filesystems without modes (issue3740)
Sat, 22 Dec 2012 18:11:51 -0600 hgwebdir: honor web.templates and web.static for static files (issue3734) stable
Matt Mackall <mpm@selenic.com> [Sat, 22 Dec 2012 18:11:51 -0600] rev 18191
hgwebdir: honor web.templates and web.static for static files (issue3734)
Sun, 30 Dec 2012 19:19:52 +0100 zeroconf: use port from server instead of picking port from config (issue3746)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 30 Dec 2012 19:19:52 +0100] rev 18190
zeroconf: use port from server instead of picking port from config (issue3746) In order to get the port, wrap create server instead of hgweb_mod/hgwebdir_mod.
Mon, 24 Dec 2012 03:21:15 +0100 branchmap: enable caching for filtered version too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 03:21:15 +0100] rev 18189
branchmap: enable caching for filtered version too The `_branchcache` attribute is turned into a dictionary. Key are filter name and value is a `branchcache` object. Unfiltered version is cached as `None` filter. The attribute is renamed to `_branchcaches` to avoid confusion with the previous one. Both old and new contents are dictionary even if their contents are different. I prefer possible extension code to crash right away instead of just messing the wrong dictionary. As all different caches work isolated to each other, this code keeps the previous behavior of using the unfiltered cache we nothing is filtered. This is a cheap way to have cache collaborate and nullify potential impact in the default case.
Tue, 01 Jan 2013 21:27:13 +0100 branchmap: report filtername when read fails
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 01 Jan 2013 21:27:13 +0100] rev 18188
branchmap: report filtername when read fails Now that we can have multiple one, we need to know which filecache failed to be read from disk.
Mon, 24 Dec 2012 03:06:03 +0100 branchmap: use a different file name for filtered view of repo
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 03:06:03 +0100] rev 18187
branchmap: use a different file name for filtered view of repo
Mon, 24 Dec 2012 03:05:02 +0100 clfilter: ensure unfiltered repo have a filtername attribute too
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Dec 2012 03:05:02 +0100] rev 18186
clfilter: ensure unfiltered repo have a filtername attribute too That will allows to use `repo.filtername` for dispatch purpose.
Mon, 24 Dec 2012 03:04:12 +0100 branchmap: move the cache file name into a dedicated function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 03:04:12 +0100] rev 18185
branchmap: move the cache file name into a dedicated function Filtered view of the repo will want to write they file name in a different file.
Tue, 01 Jan 2013 18:19:24 +0100 branchmap: read and write key part related to filtered revision
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 01 Jan 2013 18:19:24 +0100] rev 18184
branchmap: read and write key part related to filtered revision Now that we have a third part for the cache key we need to write and read it on disk. It is only written when there is filtered revision. This keep the format compatible with older version. Notes that, at this state, filtered repository does not use any disk caches yet.
Tue, 01 Jan 2013 13:05:22 -0600 check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 13:05:22 -0600] rev 18183
check-code: disallow defunct <> operator Added a test for that and one other python3 check in test-check-code.t.
Tue, 01 Jan 2013 13:04:40 -0600 largefiles: stop using <> operator in favor of !=
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 13:04:40 -0600] rev 18182
largefiles: stop using <> operator in favor of != <> has been deprecated for a while, and != is futureproof
Tue, 01 Jan 2013 13:18:33 -0600 commands: fix implicit tuple that is invalid syntax in Python3
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 13:18:33 -0600] rev 18181
commands: fix implicit tuple that is invalid syntax in Python3
Tue, 01 Jan 2013 12:58:21 -0600 check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 12:58:21 -0600] rev 18180
check-code: disallow two-argument form of raise Using this old form makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Tue, 01 Jan 2013 13:25:07 -0600 httpclient: apply change df9aea1def3e: remove use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 13:25:07 -0600] rev 18179
httpclient: apply change df9aea1def3e: remove use of two-argument raise
Tue, 01 Jan 2013 13:21:15 -0600 test-symlink-os-yes-fs-no.py: clean up use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 13:21:15 -0600] rev 18178
test-symlink-os-yes-fs-no.py: clean up use of two-argument raise This makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Tue, 01 Jan 2013 12:51:00 -0600 scmutil: clean up use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 12:51:00 -0600] rev 18177
scmutil: clean up use of two-argument raise This makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Tue, 01 Jan 2013 12:50:46 -0600 url: clean up use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 12:50:46 -0600] rev 18176
url: clean up use of two-argument raise This makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Tue, 01 Jan 2013 12:50:23 -0600 win32: clean up use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 12:50:23 -0600] rev 18175
win32: clean up use of two-argument raise This makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Tue, 01 Jan 2013 12:50:04 -0600 commandserver: clean up use of two-argument raise
Augie Fackler <raf@durin42.com> [Tue, 01 Jan 2013 12:50:04 -0600] rev 18174
commandserver: clean up use of two-argument raise This makes any attempt to port to Python 3 harder, and the new syntax is supported in 2.4 already.
Mon, 31 Dec 2012 21:50:35 -0600 test-command-template.t: fix test so it all year
Augie Fackler <raf@durin42.com> [Mon, 31 Dec 2012 21:50:35 -0600] rev 18173
test-command-template.t: fix test so it all year This test started failing for me after midnight UTC on December 31st. Fixed it by specifying a date 7 years in the future more precisely (rather than just adding 8 to the year and specifying January 1st), which allows the test to pass both now and on 2012-12-01 at the same time.
Fri, 28 Dec 2012 16:25:12 -0800 cmdutil: make getgraphlogrevs limit-aware
Siddharth Agarwal <sid0@fb.com> [Fri, 28 Dec 2012 16:25:12 -0800] rev 18172
cmdutil: make getgraphlogrevs limit-aware For a repository with over 400,000 changesets, this speeds up graphlog with a small limit by around 0.05 seconds (~50%).
Fri, 28 Dec 2012 16:25:00 -0800 cmdutil: stop pretending we can calculate revs for graphlog lazily
Siddharth Agarwal <sid0@fb.com> [Fri, 28 Dec 2012 16:25:00 -0800] rev 18171
cmdutil: stop pretending we can calculate revs for graphlog lazily cmdutil.getgraphlogrevs does a ton of work trying to build a graphlog lazily, and then cmdutil.graphlog comes along and destroys all of that. graphmod.dagwalker requires that it be given the full list of revs upfront so that it can perform filtering and tests against known revs. For a repository with over 400,000 changesets, this speeds up graphlog by around 0.02 seconds (~20% with a small limit).
Fri, 28 Dec 2012 16:24:36 -0800 cmdutil: store a local ref to repo.hiddenrevs in getgraphlogrevs
Siddharth Agarwal <sid0@fb.com> [Fri, 28 Dec 2012 16:24:36 -0800] rev 18170
cmdutil: store a local ref to repo.hiddenrevs in getgraphlogrevs On a repository with over 400,000 changesets, this speeds graphlog up by around 0.03 seconds (~20% with a small limit).
Fri, 28 Dec 2012 14:46:58 -0800 cmdutil: make getgraphlogrevs return revs in descending order
Siddharth Agarwal <sid0@fb.com> [Fri, 28 Dec 2012 14:46:58 -0800] rev 18169
cmdutil: make getgraphlogrevs return revs in descending order
Mon, 31 Dec 2012 18:11:18 -0600 branchmap: takes filtered revision in account for cache calculation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 31 Dec 2012 18:11:18 -0600] rev 18168
branchmap: takes filtered revision in account for cache calculation Tracking tipnode and tiprev is not enough to ensure validaty of the cache as they do not help distinguish a cache that ignored various revisions below tiprev. To detect such difference, we build a hash of all ignored revisions. This hash is then used when checking the validity of a cache for a repo.
Mon, 24 Dec 2012 02:57:23 +0100 branchmap: improve computation of target tip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 02:57:23 +0100] rev 18167
branchmap: improve computation of target tip With revision filtering the effective revision number of "tip" may be lower than: len(changelog) - 1 We now use a more correct version preventing useless writing on disk in some case.
Fri, 28 Dec 2012 00:13:32 +0100 branchmap: improve invalid cache message when reading
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 28 Dec 2012 00:13:32 +0100] rev 18166
branchmap: improve invalid cache message when reading This factors out the generation of the message. This helps future error reporting when reading cache for filtered repository.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip