Commit Graph

16 Commits

Author SHA1 Message Date
Saurabh Singh
a55e107c0e copytrace: handle modification of config from disablecopytrace to copytrace
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
2017-09-08 18:46:24 -07:00
Dylan Richardson
5b84495e9e copytrace: use full version of copytrace for draft branch rebases
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
2017-08-29 08:57:54 -07:00
Mateusz Kwapich
760d982e3e tests: change the name of backup files
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
2017-07-11 09:44:53 -07:00
Jun Wu
4a936cee21 codemod: remove extpath in tests
Summary:
Previously, the following pattern is common in our tests:

```
   $ extpath=`dirname $TESTDIR`
   $ cp $extpath/hgext3rd/name.py $TESTTMP # use $TESTTMP substitution in message
   $ cat >> $HGRCPATH<<EOF
   > [extensions]
   > name=$TESTTMP/name.py
   > EOF
```

Now, it gets simplified to:

```
   $ cat >> $HGRCPATH<<EOF
   > [extensions]
   > name=$TESTDIR/../hgext3rd/name.py
   > EOF
```

This removes unnecessary `dirname` and `cp`.

Also fixed a regex that does not match `bytes`:

```
-  transferred 268 bytes in [\d.]+ seconds \([\d.]+ KB/sec\) (re)
+  transferred 268 bytes in 0.3 seconds (939 bytes/sec)
```

Test Plan: arc unit

Reviewers: #mercurial, phillco

Reviewed By: phillco

Subscribers: medson, mjpieters

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

Signature: t1:5270897:1497663052:bf860a0b480c751b1e4b53cebf6526193f0f6652
2017-06-16 18:31:25 -07:00
Stanislau Hlebik
ce077253b5 copytracing: trace copies in draft commits
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
2017-06-02 01:27:13 -07:00
Stanislau Hlebik
9e8ca3ae43 copytrace: use filename heuristics to quickly find moves
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
2017-06-01 04:39:27 -07:00
Ryan McElroy
8fab426a57 copytrace: delete extension and tests
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
2016-04-06 03:55:27 -07:00
Laurent Charignon
0ca941a08a cleanup: use backtick instead of parent to capture output of shell cmd
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
2016-01-07 18:30:24 -08:00
Laurent Charignon
5ebc03718c cleanup: fix quoting patterns in tests
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
2016-01-07 18:30:24 -08:00
Laurent Charignon
327bb91e86 copytrace: reorder test output
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
2015-12-30 12:38:26 -08:00
Cecile Berillon
474190eca4 copytrace: deal with merge case if common ancestor is the second parent side 2015-12-09 15:22:51 -08:00
Cecile Berillon
98d625f42e merge case
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
2015-12-09 10:14:10 -08:00
Cecile Berillon
6064bfa18a copytrace: modifying buildstate behavior
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
2015-12-03 13:25:07 -08:00
Cecile Berillon
9d05ef5950 copytrace: process old move data
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
2015-12-02 17:45:01 -08:00
Cecile Berillon
5469a4c044 copytrace: adding ui config to allow incremental deployment
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
2015-11-20 09:38:21 -08:00
Cecile Berillon
069a284190 Reads the local move database during a rebase
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
2015-11-02 16:51:18 -08:00