mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
30e39de418
Summary: In order to support gradual rollout of infinitepush for other backends (e.g. Mononoke), we need the ability to route read vs write requests separately. To achieve this, we need a separate path type: `infinitepush-write` (kind of like `default-push`, the naming inconsistency is a little unfortunate, as I don't want to use `infinitepush-push`). The desired behavior of the new path type is as follows: - takes precedence over `infinitepush` path when the user does `hg push -r . --to scratch/bla` - replaces `infinitepush` path when the user does `hg push infinitepush -r . --to scratch/bla` - absence of this path means draft pushes will go to `infinitepush` path - draft pulls always go to `infinitepush` path, and *there's no fallback to `infinitepush-write`* - commit cloud always talks to `infinitepush-write`, if it is present (meaning that commit cloud pulls do go to `infinitepush-write` path - this is done, as commitcloud uses infinitepush paths to also check whether something is backed up - and also, commitcloud may need to pull very soon after something has been pushed Reviewed By: quark-zju Differential Revision: D20368158 fbshipit-source-id: 59db174cebbf2b48765dff37bc93aad176c2d7c1 |
||
---|---|---|
.. | ||
__init__.py | ||
bookmarks.py | ||
bundleparts.py | ||
bundlestore.py | ||
client.py | ||
common.py | ||
constants.py | ||
fileindex.py | ||
infinitepushcommands.py | ||
README | ||
server.py | ||
sqlindex.py |
## What is it? This extension adds ability to save certain pushes to a remote blob store as bundles and to serve commits from remote blob store. The revisions are stored on disk or in everstore. The metadata are stored in sql or on disk. ## Config options infinitepush.branchpattern: pattern to detect a scratchbranch, example 're:scratch/.+' infinitepush.indextype: disk or sql for the metadata infinitepush.reponame: only relevant for sql metadata backend, reponame to put in sql infinitepush.indexpath: only relevant for ondisk metadata backend, the path to store the index on disk. If not set will be under .hg in a folder named filebundlestore infinitepush.storepath: only relevant for ondisk metadata backend, the path to store the bundles. If not set, it will be .hg/filebundlestore