Summary: In mercurial core, the config for disabling copytrace was changed from
disablecopytrace (boolean) to copytrace which can be on or off. As a result of
this change, there were some breaks which need to be modified to work with the
new config. This commit acheives the same.
Test Plan: Ran all the tests.
Reviewers: #fbhgext, quark
Reviewed By: #fbhgext, quark
Subscribers: quark
Differential Revision: https://phab.mercurial-scm.org/D662
Summary: on merge during rebase, check to see if source and destination are both draft commits. If so, use full copytrace to support more functionality.
Test Plan:
In tests/test-copytrace.t, added two tests:
- Change a file name and move containing directory in one branch. Modify contents of original file name in other branch. Rebase modded file into new file name in new directory.
- Move directory in one merge parent. Add new file to original directory in other merge parent. File moved to new directory on rebase.
Reviewers: stash, #fbhgext
Reviewed By: stash, #fbhgext
Subscribers: pulkit, ryanmce
Differential Revision: https://phab.mercurial-scm.org/D481
Summary: Looks like the upstream has changed it on us.
Reviewers: quark
Reviewed By: quark
Subscribers: quark
Differential Revision: https://phab.mercurial-scm.org/D40
Summary:
Simple copy tracking for draft commits. It doesn't use db to save move info
because getting move info is quite fast already.
Depends on D5137372
Test Plan: Run tests
Reviewers: #mercurial, durham, quark, rmcelroy
Reviewed By: quark
Subscribers: mjpieters, #sourcecontrol
Differential Revision: https://phabricator.intern.facebook.com/D5137886
Tasks: 18508761
Signature: t1:5137886:1496348869:8f4a9761fdeb26ddee5e18a318cc85582ef4adbb
Summary:
Copytracing that is based on a simple idea: most moves are either directory
moves or moves of the file inside the same directory. That means that either
basename of the moved file or the dirname of the moved file is the same.
More details in the comments.
Test Plan: Run unit-tests
Reviewers: #mercurial, durham, quark, rmcelroy
Reviewed By: quark, rmcelroy
Subscribers: mjpieters, #sourcecontrol
Differential Revision: https://phabricator.intern.facebook.com/D5137372
Tasks: 18508761
Signature: t1:5137372:1496243148:8d229c1593da196b674318ee8b37af15a60831c8
Summary:
This was bitrotting. We have it in source control if we want to revive
the project.
Test Plan: run-tests.py
Reviewers: #sourcecontrol, ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3126182
Summary: This diff is part of a series to cleanup fb-hgext and make it pass check-code.
Test Plan: all tests pass
Reviewers: #sourcecontrol, ttung, mitrandir, akushner
Reviewed By: akushner
Subscribers: mpm, akushner, mitrandir
Differential Revision: https://phabricator.fb.com/D2811997
Signature: t1:2811997:1452200059:9e4fca501a22f95d2d9a22d234758f55e292ea9a
Summary: This diff is part of a series to cleanup fb-hgext and make it pass check-code.
Test Plan: All tests pass
Reviewers: #sourcecontrol, ttung
Differential Revision: https://phabricator.fb.com/D2811856
Summary:
The test output got reordered, I tried to figure out why but I didn't
find the root cause. It does not look like an issue, so let's just patch the
changes.
Test Plan: test pass
Reviewers: ericsumner
Differential Revision: https://phabricator.fb.com/D2794131
Summary: Copytracing works fine unless the ancestor is on the p2() branch, in that case fall back to old copytracing without bothering the user with an error
Test Plan: Former tests still pass and merge cases say the same with or without copytrace the extension
Reviewers: #sourcecontrol, rmcelroy, ttung
Differential Revision: https://phabricator.fb.com/D2729604
Tasks: 8660367
Summary: Using it on 10000 commits makes SQL crashs because the queries are too big. Modifies buildstate to check if the oldest and most recent commits on the public branch, rebased to, are in the database, if yes: Assumes all of the nodes in between are. If not: goes through all the nodes by 1000 to check/retrieve them from the server. To avoid double checking if the hash is present in the database, during a retrievepkg, missing hashes are manually added and never asked to the server (this should mostly never happem)
Test Plan: The former tests still pass and buildstate doesn't raise an exception anymore when rebasing over 10000 commits
Reviewers: #sourcecontrol, rmcelroy
Differential Revision: https://phabricator.fb.com/D2718840
Tasks: 8660367
Summary: adds a 'fillmvdb' command to backfill the move db with --start and --stop options
Test Plan: tests with several --start nodes and one --stop revision
Reviewers: #sourcecontrol, rmcelroy
Differential Revision: https://phabricator.fb.com/D2713126
Tasks: 8659945
Summary: adding ui config to allow deploying first the 'filling the client database' then 'pushing to and pushing from the server database' and finally the 'copytracing' part
Test Plan: adding those ui configs, the former tests still pass
Reviewers: #sourcecontrol, rmcelroy
Differential Revision: https://phabricator.fb.com/D2672217
Tasks: 8660367
Summary: Uses the local sqlite database to check for moves during the rebase - Wraps and copies the mergecopies function
Test Plan: Tests the different cases: renamed/renamed renamed/modified renamed/deleted deleted/renamed modified/renamed
Reviewers: #sourcecontrol, rmcelroy
Differential Revision: https://phabricator.fb.com/D2552629
Tasks: 8659945