Matt Harbison <matt_harbison@yahoo.com> [Sun, 16 Jul 2017 17:40:36 -0400] rev 33544
archive: use a templater to build the metadata file
There are no visible changes here.
I'm starting to wonder if adding the '+' to the 'node' line instead of a
separate key line in 3047167733dc was the right thing to do. The '{node}'
keyword never includes '+' elsewhere, and the way setup.py works, it would
truncate it anyway. Additionally, the file is missing '{p2node}' when 'wdir()'
merges are archived. I thought about adding an 'identify' line that would
correspond to `hg id -n`. But the other nodes are the full 40 characters, and
the output most useful for versioning is the short form. All of this cries out
for customization via templating. (Although maybe having the short identify
line by default is still a good idea.)
Jun Wu <quark@fb.com> [Sun, 16 Jul 2017 11:17:00 -0700] rev 33543
commandserver: do not handle EINTR for selector.select
selectors2 library handles EINTR transparently so we don't need to handle
select.error ourselves.
Boris Feld <boris.feld@octobus.net> [Sun, 16 Jul 2017 02:33:14 +0200] rev 33542
debugobsolete: also report the number of obsoleted changesets
This seems useful to have the number of obsoleted changesets when calling
debugobsolete.
Boris Feld <boris.feld@octobus.net> [Sun, 16 Jul 2017 02:20:06 +0200] rev 33541
transaction-summary: display the summary for all transactions
Now that we records "all" changes happening in a transaction (in tr.changes)
we will be able to provide better report on various changes (phases turned
public, changeset obsoleted, branch merged or created, etc..)
This is far too late in the cycle to play with this, but having this existing
method called more widely will help extensions to play around with various
options during the 4.4 cycle.
Instead of calling registersummarycallback only for transactions we want, we
always call it and use the transaction name to decide when to report (eg: we
do not want `hg amend` to report new obsoleted changesets). Filtering on
transaction name does not seems great, but seems good enough for the moment.
We can change the API during the next cycle.
The previous manual call during unbundling of the bundle2 "obsmarkers" part is
no longer necessary and has been dropped.
Boris Feld <boris.feld@octobus.net> [Sun, 16 Jul 2017 02:38:14 +0200] rev 33540
test-strip: fix call to super class in crashstriprepo
The 'self' argument is already taken care of by the 'super(...)' call. Instead
we were passing the repository instance as the 'desc' value.
This got discovered by breaking the next changeset.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 23:49:22 +0200] rev 33539
share: share 'cachevfs' with the source clone (issue5108)
Share extension now also share caches reads and writes. Not sharing caches
results in costly caches recomputations which can takes up to minutes when
using shares on large repositories.
There are a couple of file in the '.hg/cache/' that depends of the current
visibility. Visibility can be affected by the working copy location, something
which is specific to each share. We ignores them for this series because they:
* are the minority,
* already have a good fallback to other precomputed caches,
* are only affected when people use the experimental evolution feature.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 23:05:15 +0200] rev 33538
cachevfs: add a devel warning for cache access though 'vfs'
This will help third party extensions to migrate to the new 'cachevfs'.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 23:30:25 +0200] rev 33537
cachevfs: migration the tags fnode cache to 'cachevfs'
This will help sharing the cache between shares.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 23:30:16 +0200] rev 33536
cachevfs: migrate tagscache to 'cachevfs'
This will help sharing the cache between shares.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 22:42:50 +0200] rev 33535
cachevfs: migration the revbranchcache to 'cachevfs'
This will help sharing the cache between shares.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 22:42:31 +0200] rev 33534
cachevfs: use the new vfs in when computing branchmap cache
This will help sharing the cache between shares.
Boris Feld <boris.feld@octobus.net> [Sat, 15 Jul 2017 23:05:04 +0200] rev 33533
cachevfs: add a vfs dedicated to cache
Most of the cache content lives in '.hg/cache/'. Moreover they are computed
exclusively from data in the '.hg/store' directory. This creates issues with
the share extension as the '.hg/store' directory is shared but the '.hg/cache'
is not. On large repositories, this makes this prevent some usage of the share
extension inefficient as some caches can take minutes to be recomputed.
To improve the situation, we introduce a new 'cachevfs' that will be dedicated
to cache reading and writing. In the next patches of this series, we'll
migrate the 4 existing caches to it and update the share extension.