sapling/edenscm/hgext/infinitepush
Aleksei Kulikov 8a79cfa7e8 snapshot: add the unionstore to handle the rebundling of snapshot bundles
Summary:
If some bundle consisted of several snapshots, and the client requests a part of that data, the server can trigger the rebundling process.
This diff teaches snapshots to the rebundling process.

The `bundlerepo` object should store data in memory, so a `unionstore` class is made up.
It allows to "pair" in-memory store with a regular local store and query them via the same API.

Reviewed By: markbt

Differential Revision: D17684945

fbshipit-source-id: 0bdb1f70b777fb2d8193b3bfa46b5915c2019663
2019-10-01 06:46:43 -07:00
..
__init__.py commitcloud: backup and sync all non-public commits 2019-08-16 10:24:44 -07:00
bookmarks.py remotenames: applychanges for remotebookmark store 2019-06-27 08:10:58 -07:00
bundleparts.py snapshot: add the unionstore to handle the rebundling of snapshot bundles 2019-10-01 06:46:43 -07:00
bundlestore.py infinitepush: delay import of sqlindex 2019-05-03 04:09:54 -07:00
client.py infinitepush: log pushes to Scuba 2019-06-03 05:30:44 -07:00
common.py mutation: add bundlerepo support 2019-06-04 04:50:53 -07:00
constants.py infinitepush: remove import cycle 2019-05-02 14:48:34 -07:00
fileindex.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00
infinitepushcommands.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00
README codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
server.py snapshot: add the unionstore to handle the rebundling of snapshot bundles 2019-10-01 06:46:43 -07:00
sqlindex.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00

## 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