Mercurial > hg
view tests/test-backout @ 4418:0532491f7476
MQ: tidy up if a qpush is interrupted.
This aborts the transaction, makes sure the dirtied dirstate isn't
written out, and cleans up the working directory.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Tue, 08 May 2007 12:16:02 -0700 |
parents | 8ba1c31f6864 |
children | 46280c004f22 |
line wrap: on
line source
#!/bin/sh echo '# basic operation' hg init basic cd basic echo a > a hg commit -d '0 0' -A -m a echo b >> a hg commit -d '1 0' -m b hg backout -d '2 0' tip cat a echo '# file that was removed is recreated' cd .. hg init remove cd remove echo content > a hg commit -d '0 0' -A -m a hg rm a hg commit -d '1 0' -m b hg backout -d '2 0' --merge tip cat a echo '# backout of backout is as if nothing happened' hg backout -d '3 0' --merge tip cat a 2>/dev/null || echo cat: a: No such file or directory echo '# backout with merge' cd .. hg init merge cd merge echo line 1 > a hg commit -d '0 0' -A -m a echo line 2 >> a hg commit -d '1 0' -m b echo line 3 >> a hg commit -d '2 0' -m c hg backout --merge -d '3 0' 1 hg commit -d '4 0' -m d cat a echo '# backout should not back out subsequent changesets' hg init onecs cd onecs echo 1 > a hg commit -d '0 0' -A -m a echo 2 >> a hg commit -d '1 0' -m b echo 1 > b hg commit -d '2 0' -A -m c hg backout -d '3 0' 1 hg locate b cd .. hg init m cd m echo a > a hg commit -d '0 0' -A -m a echo b > b hg commit -d '1 0' -A -m b echo c > c hg commit -d '2 0' -A -m b hg update 1 echo d > d hg commit -d '3 0' -A -m c hg merge 2 hg commit -d '4 0' -A -m d echo '# backout of merge should fail' hg backout 4 echo '# backout of merge with bad parent should fail' hg backout --parent 0 4 echo '# backout of non-merge with parent should fail' hg backout --parent 0 3 echo '# backout with valid parent should be ok' hg backout -d '5 0' --parent 2 4 hg rollback hg update -C hg backout -d '6 0' --parent 3 4 exit 0