sapling/infinitepush
Stanislau Hlebik b9fab6bc04 infinitepush: fix remotefilelog interaction
Summary:
Remotefilelog can't find file revisions outside of the repo.
Because of it user can't update to the revisions that was pulled from
bundlestore. This diff downloads all filelogs for revisions
from bundlestore.

There were two options to pass info about changed files to remotefilelog:
through config or through bundlecaps. I decided to use config because
it's not really a bundle capability.

Test Plan: Run `test-infinitepush-*`

Reviewers: rmcelroy, mitrandir, durham

Reviewed By: durham

Subscribers: mjpieters, #sourcecontrol

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

Tasks: 12479677

Signature: t1:4030065:1476755932:4aa02e540f13d3221163d906524fb9ce97f9c7e8
2016-10-18 01:20:12 -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: fix remotefilelog interaction 2016-10-18 01:20:12 -07:00
fileindexapi.py infinitepush: do not require mysql for tests 2016-10-17 14:23:56 +01:00
indexapi.py infinitepush: do not require mysql for tests 2016-10-17 14:23:56 +01:00
README infinitepush: sample implementation 2016-08-26 06:09:01 -07:00
sqlindexapi.py infinitepush: do not require mysql for tests 2016-10-17 14:23:56 +01: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