sapling/tests/test-fb-hgext-drop.t
Kostia Balytskyi b27a46c987 fb-hgext: fix copied fb-hgext tests
Summary:
This is a big bulk of generally almost-obvious fixes to the moved tests. Mostly
these fixes have to do with correct importing of the actual extensions.

Depends on D6675329

Test Plan:
- ./run-tests.py fails less after this commit
- see further commits for more test fixes

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6675344
2018-01-09 03:06:09 -08:00

206 lines
3.5 KiB
Perl

UTILS:
$ reset() {
> cd ..
> rm -rf a
> hg init a
> cd a
> }
TEST: incomplete requirements handling (required extension excluded)
$ hg init a
$ cd a
$ cat >> .hg/hgrc <<EOF
> [extensions]
> drop=
> EOF
$ hg drop 1
extension rebase not found
abort: required extensions not detected
[255]
SETUP: Properly setup all required extensions
$ cat >> .hg/hgrc <<EOF
> [extensions]
> rebase=
> drop=
> [experimental]
> evolution=all
> EOF
TEST: handling no revision provided to drop
$ hg drop
abort: no revision to drop was provided
[255]
TEST: aborting when drop called on root changeset
$ hg debugbuilddag +1
$ hg log -G -T '{rev} {desc|firstline}'
o 0 r0
$ hg drop -r 0
abort: root changeset cannot be dropped
[255]
$ hg log -G -T '{rev} {desc|firstline}'
o 0 r0
RESET and SETUP
$ reset
$ cat >> .hg/hgrc <<EOF
> [extensions]
> rebase=
> drop=
> [experimental]
> evolution=all
> EOF
TEST: dropping changeset in the middle of the stack
$ hg debugbuilddag +4 -m
$ hg log -G -T '{rev} {desc|firstline}'
o 3 r3
|
o 2 r2
|
o 1 r1
|
o 0 r0
$ hg drop -r 2
Dropping changeset c175ba: r2
rebasing 3:c034855f2b01 "r3" (tip)
merging mf
$ hg log -G -T '{rev} {desc|firstline}'
o 4 r3
|
o 1 r1
|
o 0 r0
TEST: abort when more than one revision provided
$ hg drop -r 1 4
abort: only one revision can be dropped at a time
[255]
RESET and SETUP
$ reset
$ cat >> .hg/hgrc <<EOF
> [extensions]
> rebase=
> drop=
> [experimental]
> evolution=all
> EOF
TEST: dropping a changest with child changesets
$ hg debugbuilddag -m "+5 *3 +2"
$ hg log -G -T '{rev} {desc|firstline}'
o 7 r7
|
o 6 r6
|
o 5 r5
|
| o 4 r4
| |
| o 3 r3
|/
o 2 r2
|
o 1 r1
|
o 0 r0
$ hg drop 2
Dropping changeset 37d4c1: r2
rebasing 3:a422badec216 "r3"
merging mf
rebasing 4:b762560d23fd "r4"
merging mf
rebasing 5:e76b6544a13a "r5"
merging mf
rebasing 6:4905937520ff "r6"
merging mf
rebasing 7:2c7cfba83429 "r7" (tip)
merging mf
$ hg log -G -T '{rev} {desc|firstline}'
o 12 r7
|
o 11 r6
|
o 10 r5
|
| o 9 r4
| |
| o 8 r3
|/
o 1 r1
|
o 0 r0
TEST: aborting drop on merge changeset
$ hg checkout 8
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge 12
merging mf
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m "merge"
$ hg log -G -T '{rev} {desc|firstline}'
@ 13 merge
|\
| o 12 r7
| |
| o 11 r6
| |
| o 10 r5
| |
+---o 9 r4
| |
o | 8 r3
|/
o 1 r1
|
o 0 r0
$ hg drop 13
abort: merge changeset cannot be dropped
[255]
TEST: abort when dropping a public changeset
$ hg phase --public -r 1
$ hg drop 1
abort: public changeset which landed cannot be dropped
[255]
RESET and SETUP
$ reset
$ cat >> .hg/hgrc <<EOF
> [extensions]
> rebase=
> drop=
> [experimental]
> evolution=all
> EOF
TEST: dropping a changeset with merge conflict
$ hg debugbuilddag -o +4
$ hg log -G -T '{rev} {desc|firstline}'
o 3 r3
|
o 2 r2
|
o 1 r1
|
o 0 r0
$ hg drop 1
Dropping changeset 2a8ed6: r1
rebasing 2:3d69e4d36b46 "r2"
merging of
warning: conflicts while merging of! (edit, then use 'hg resolve --mark')
conflict occurred during drop: please fix it by running 'hg rebase --continue', and then re-run 'hg drop'
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]