mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 17:58:27 +03:00
effa0da8de
Summary: The helper could be used in individual tests to enable chg if chg exists. This allows us to have more precise control on what tests to use chg instead of using a global flag in run-tests.py. This makes certain tests containing many hg commands much faster. For example, `test-revset.t` took 99 seconds before: % ./run-tests.py test-revset.t --time . # Ran 1 tests, 0 skipped, 0 failed. # Producing time report start end cuser csys real Test 0.000 99.990 86.410 12.000 99.990 test-revset.t And 10 seconds after: % ./run-tests.py test-revset.t --time . # Ran 1 tests, 0 skipped, 0 failed. # Producing time report start end cuser csys real Test 0.000 10.080 0.380 0.130 10.080 test-revset.t Also enable it for some other tests. Note the whitelist is not complete. We probably want to whitelist more tests in the future. The feature could be opted out by deleting `contrib/chg/chg`. Reviewed By: phillco Differential Revision: D6767036 fbshipit-source-id: 8220cf408aa198d5d8e2ca5127ca60e2070d3444
75 lines
1.9 KiB
Perl
75 lines
1.9 KiB
Perl
$ . helpers-usechg.sh
|
|
|
|
$ cat <<EOF > merge
|
|
> import sys, os
|
|
> print("merging for", os.path.basename(sys.argv[1]))
|
|
> EOF
|
|
$ HGMERGE="$PYTHON ../merge"; export HGMERGE
|
|
|
|
$ hg init A1
|
|
$ cd A1
|
|
$ echo This is file foo1 > foo
|
|
$ echo This is file bar1 > bar
|
|
$ hg add foo bar
|
|
$ hg commit -m "commit text"
|
|
|
|
$ cd ..
|
|
$ hg clone A1 B1
|
|
updating to branch default
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ cd A1
|
|
$ rm bar
|
|
$ hg remove bar
|
|
$ hg commit -m "commit test"
|
|
|
|
$ cd ../B1
|
|
$ echo This is file foo22 > foo
|
|
$ hg commit -m "commit test"
|
|
|
|
$ cd ..
|
|
$ hg clone A1 A2
|
|
updating to branch default
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg clone B1 B2
|
|
updating to branch default
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ cd A1
|
|
$ hg pull ../B1
|
|
pulling from ../B1
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 1 changes to 1 files (+1 heads)
|
|
new changesets b90e70beeb58
|
|
(run 'hg heads' to see heads, 'hg merge' to merge)
|
|
$ hg merge
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
(branch merge, don't forget to commit)
|
|
$ hg commit -m "commit test"
|
|
bar should remain deleted.
|
|
$ hg manifest --debug
|
|
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
|
|
|
|
$ cd ../B2
|
|
$ hg pull ../A2
|
|
pulling from ../A2
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 0 changes to 0 files (+1 heads)
|
|
new changesets e1adc944e717
|
|
(run 'hg heads' to see heads, 'hg merge' to merge)
|
|
$ hg merge
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
(branch merge, don't forget to commit)
|
|
$ hg commit -m "commit test"
|
|
bar should remain deleted.
|
|
$ hg manifest --debug
|
|
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
|
|
|
|
$ cd ..
|