sapling/cstore
Durham Goode cc11141ce5 treemanifest: add new finalize method
Summary:
Previously, to serialize a tree we would call treemanifest.write() which would
take the stores and call the appropriate add() functions. This meant the
treemanifest code controlled when deltas were used, which makes it hard to
decide deltas based on external factors, like which pack file the parent is in.

As a first step to fixing this, we're adding a new finalize function that
returns a python iterator that allows iterating over the new parts of the tree.
In a future diff we will use this to do serialization and delta decisions at the
python/pack layer instead.

The same future diff will also cover this in tests, as it moves all calls to
treemanifest.write() to use treemanifest.finalize().

Test Plan: The next diff switches all write() calls and tests to finalize()

Reviewers: #mercurial, simonfar

Reviewed By: simonfar

Subscribers: mjpieters

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

Signature: t1:4645922:1488880722:574a37ba800f4b78faf8bad3979b447f4278cc55
2017-03-07 11:15:25 -08:00
..
bitmanipulation.h cstore: add mpatch code from core 2017-02-23 14:03:03 -08:00
compat.h cstore: add mpatch code from core 2017-02-23 14:03:03 -08:00
datapackstore.cpp cstore: use insert not emplace with std::unordered_set 2017-03-02 07:05:15 -08:00
datapackstore.h cstore: implement markForRefresh on cdatapackstore 2017-03-01 16:55:18 -08:00
key.h cstore: implement UnionDatapackStore.getdeltachain() 2017-02-23 14:03:03 -08:00
mpatch.c cstore: add mpatch code from core 2017-02-23 14:03:03 -08:00
mpatch.h cstore: add mpatch code from core 2017-02-23 14:03:03 -08:00
py-cdatapack.h cstore: C++ implementation of datapackstore 2017-02-23 14:03:03 -08:00
py-cstore.cpp cstore: implement UnionDatapackStore 2017-02-23 14:03:03 -08:00
py-datapackstore.h cstore: implement markForRefresh on cdatapackstore 2017-03-01 16:55:18 -08:00
py-structs.h cstore: move uniondatapackstore holder to be a shared_ptr 2017-02-23 14:03:04 -08:00
py-treemanifest.h treemanifest: add new finalize method 2017-03-07 11:15:25 -08:00
store.h cstore: move uniondatapackstore holder to be a shared_ptr 2017-02-23 14:03:04 -08:00
uniondatapackstore.cpp cstore: implement markForRefresh on cdatapackstore 2017-03-01 16:55:18 -08:00
uniondatapackstore.h cstore: implement markForRefresh on cdatapackstore 2017-03-01 16:55:18 -08:00