sapling/eden/scm/tests/test-sparse-merges.t
Zeyi (Rice) Fan 92f6f35e7a mark all tests requiring Python 2
Summary:
This diff marks **ALL** mercurial tests requiring Python 2 feature.

After you fixes some tests, simply remove the `py2` feature requirement and that tests will be continuously run after your diff is landed.

To bypass this feature requirement, run the tests command with `HGTEST_FORCE_PY2=1`. For example:

```
HGTEST_FORCE_PY2=1 buck test //eden/scm/tests:hg_run_tests
```

or

```
HGTEST_FORCE_PY2=1 python run-tests.py
```

----

Basically this diff are created with the following commands:

```
$ sed -i 's/import feature\(.*\)$/import feature\1\n\nfeature.require(["py2"])/' test-*-t.py
$ sed -i '1s/^/#require py2\n/' test-*.t
$ ls | grep -P "^test.*(?<\!-t)\.py$" > list && vim -p $(cat list)
# manually adding feature requires for these Python tests.
```

(Note: this ignores all push blocking failures!)

ignore-conflict-markers

Reviewed By: singhsrb

Differential Revision: D19655148

fbshipit-source-id: 985e3ccb4010cc559049f1d89f8909bc2d9b5e20
2020-01-30 18:49:21 -08:00

67 lines
1.5 KiB
Perl

#require py2
#chg-compatible
test merging things outside of the sparse checkout
$ hg init myrepo
$ cd myrepo
$ enable sparse
$ echo foo > foo
$ hg commit -m initial -A foo
$ hg bookmark -ir. initial
$ echo bar > bar
$ hg commit -m 'feature - bar1' -A bar
$ hg bookmark -ir. feature1
$ hg update --inactive -q initial
$ echo bar2 > bar
$ hg commit -m 'feature - bar2' -A bar
$ hg bookmark -ir. feature2
$ hg update --inactive -q feature1
$ hg sparse --exclude 'bar**'
$ hg merge feature2 --tool :merge-other
temporarily included 1 file(s) in the sparse checkout for merging
merging bar
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Verify bar was merged temporarily
$ ls
bar
foo
$ hg status
M bar
Verify bar disappears automatically when the working copy becomes clean
$ hg commit -m "merged"
cleaned up 1 temporarily added file(s) from the sparse checkout
$ hg bookmark -ir. merged
$ hg status
$ ls
foo
$ hg cat -r . bar
bar2
Test merging things outside of the sparse checkout that are not in the working
copy
$ hg debugstrip -q -r .
$ hg up --inactive -q feature2
$ touch branchonly
$ hg ci -Aqm 'add branchonly'
$ hg up --inactive -q feature1
$ hg sparse -X branchonly
$ hg merge feature2 --tool :merge-other
temporarily included 1 file(s) in the sparse checkout for merging
merging bar
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)