Boris Feld <boris.feld@octobus.net> [Wed, 02 Jan 2019 10:29:12 +0100] rev 41096
vfs: fix proxyvfs inheritance
The proxyvfs class is designed to overwrite some of the vfs logic. Yet, it did
not use normal class inheritance. This is becoming an issue as `abstractvfs`
method could take precedence over their `proxyvfs` version.
We fix the inheritance chain to be as expected.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Dec 2018 13:44:37 +0100] rev 41095
vfs: also audit rename
Renaming through the vfs is not used in many places, and none of them seems to
be a security risk.
However, it is still worthwhile to run the auditing on rename file to perform
developer-warning level checks.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Dec 2018 13:44:23 +0100] rev 41094
vfs: add a `_auditpath` to abstract vfs
We are about to make `rename` audit path. Since rename lives in the
`abstractvfs` layer, we need it to be aware of auditing to some extent.
The default implementation is no-op because multiple existing vfs are not using
auditing at all right now (eg: fncachevfs).
Boris Feld <boris.feld@octobus.net> [Sun, 02 Jul 2017 04:51:03 +0200] rev 41093
vfs: makes all audited path relative
Only auditing relative path helps the vfs warning logic.
Boris Feld <boris.feld@octobus.net> [Fri, 21 Dec 2018 13:17:58 +0100] rev 41092
debugupgraderepo: add a --no-backup mode
The process has been around for a while and is pretty safe now. Having an
automated way to clean up the old data is useful when running many different
conversion to compare delta algorithm.
Boris Feld <boris.feld@octobus.net> [Fri, 13 Jul 2018 03:05:30 +0200] rev 41091
upgrade: add '-' in optimization name
The older name `redeltaall` was hard to type and read. The newer form should
be more user-friendly.
We keep backward compatibility with the old form (at least for a while).
Having to use different form depending on the version is very impractical and
error prone.
Boris Feld <boris.feld@octobus.net> [Fri, 21 Dec 2018 05:27:30 +0100] rev 41090
revlog: add test case for _findsnapshots
Testing the method directly is more robust.
Boris Feld <boris.feld@octobus.net> [Fri, 21 Dec 2018 05:27:38 +0100] rev 41089
revlog: use the native implementation of issnapshot
In some sparserevlog case where a lot of the history has to be searched for a
snapshot, the cost of issnashot cost becomes significant. The computation done
by the method is fairly low level, a native implementation provide a very
significant speedup.
example affected manifest write
before: 0.490375s
after: 0.114989s (-76%)
Boris Feld <boris.feld@octobus.net> [Mon, 17 Dec 2018 10:57:13 +0100] rev 41088
revlog: add a native implementation of issnapshot
This will be used in the next changesets
Boris Feld <boris.feld@octobus.net> [Mon, 17 Dec 2018 10:51:36 +0100] rev 41087
revlog: more efficient implementation for issnapshot
We avoid multiple method calls and tuple creation, this provides a significant
speedup in some case:
example affected manifest write
before: 0.815520s
after: 0.487767s (-40%)