sapling/infinitepush
Stanislau Hlebik 39fa21c146 infinitepush: sqlindex
Summary:
Infinitepush index implementation that uses mysql db to store data.

Three tables:
1) Node to bundle
2) Bookmark to node
3) All bundles (this is necessary to
 find unused bundles.

Test Plan: Code was tested but tests are not included in the diff - see comments below

Reviewers: rmcelroy, mitrandir, durham

Reviewed By: durham

Subscribers: mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D3811247

Tasks: 12479677

Signature: t1:3811247:1473378520:bc23b3436aa2e618a7bfefd2d571257dfe8ace94
2016-09-09 09:16:43 -07:00
..
integrationtests infinitepush: move integration test to the rool level directory 2016-08-31 01:44:59 -07:00
tests infinitepush: lint fixes 2016-08-26 08:01:30 -07:00
__init__.py infinitepush: sqlindex 2016-09-09 09:16:43 -07:00
indexapi.py infinitepush: sqlindex 2016-09-09 09:16:43 -07:00
README infinitepush: sample implementation 2016-08-26 06:09:01 -07:00
store.py infinitepush: external bundle store 2016-09-07 05:20:43 -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