sapling/eden/scm/tests/test-merge-issue5091.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

139 lines
1.6 KiB
Perl

#require py2
#chg-compatible
$ hg init
Base
$ cat << EOF > A
> S
> S
> S
> S
> S
> EOF
$ hg ci -m Base -q -A A
Other
$ cat << EOF > A
> S
> S
> X
> S
> S
> EOF
$ hg ci -m Other -q
$ hg bookmark -qir. other
Local
$ hg up '.^' -q
$ cat << EOF > A
> S
> S
> S
> X
> S
> S
> S
> EOF
$ hg ci -m Local -q
If the diff algorithm tries to group multiple hunks into one. It will cause a
merge conflict in the middle.
$ hg merge other -q -t :merge3
warning: 1 conflicts while merging A! (edit, then use 'hg resolve --mark')
[1]
$ cat A
S
S
<<<<<<< working copy: 14ce9a1fcd1e - test: Local
S
X
S
||||||| base
S
=======
X
>>>>>>> merge rev: 4171d1cf524c other - test: Other
S
S
In a more complex case, where hunks cannot be grouped together, the result will
look weird in xdiff's case but okay in bdiff's case where there is no conflict,
and everything gets auto resolved reasonably.
$ rm -rf .hg
$ hg init
$ cat << EOF > A
> S
> S
> Y
> S
> Y
> S
> S
> EOF
$ hg ci -m Base -q -A A
$ cat << EOF > A
> S
> S
> Y
> X
> Y
> S
> S
> EOF
$ hg ci -m Other -q
$ hg bookmark -qir. other
$ hg up '.^' -q
$ cat << EOF > A
> S
> S
> S
> Y
> X
> Y
> S
> S
> S
> EOF
$ hg ci -m Local -q
$ hg merge other -q -t :merge3
warning: 1 conflicts while merging A! (edit, then use 'hg resolve --mark')
[1]
$ cat A
S
S
<<<<<<< working copy: 057fc5d1a99c - test: Local
S
||||||| base
Y
S
=======
Y
X
>>>>>>> merge rev: f0ba17ae43c9 other - test: Other
Y
X
Y
S
S
S