sapling/hgext3rd/p4fastimport
David Soria Parra b0d59e858a p4fastimport: implement transaction.find and .replace
Summary:
revlog uses transaction.find and transaction.replace in cases where a
datafile is separated from an index (>= revlog._maxinline). In these cases the
importer broke as we did not implement find and replace in filetransaction.

We implement the two methods. However we ned a save way to store the data
portion which find must correclty return. We cannot store json as some
serializations aren't bidirecitonal. We can't store pickle as \n is a common
separator in pickle, and we use that to separate our entries. So we use pickle
and then base64 encode it. This is cumbersome but works.

The fix is aimed to make things "work" and I want to explore options to better
implement find and replace.

Test Plan:
- Working on a test that correclty triggers inline -> separation.
- Deployed it to our test system with test data and see commits comming in.

Reviewers: #idi, #ovrsource_warroom, #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D5189308
2017-06-06 19:54:29 -07:00
..
__init__.py commands: update to use registrar instead of cmdutil 2017-05-22 13:38:37 -07:00
filetransaction.py p4fastimport: implement transaction.find and .replace 2017-06-06 19:54:29 -07:00
importer.py p4fastimport: filelog transaction wtih support for concurrent access 2017-05-16 12:36:23 -07:00
p4.py p4fastimport: move p4fastimport under hgext3rd 2017-05-12 17:03:20 -07:00
util.py p4fastimport: move p4fastimport under hgext3rd 2017-05-12 17:03:20 -07:00