Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-backout @ 5374:e710874247d1
convert: allow the converter_source to say "skip this revision"
If getchanges returns a string, it's assumed to be the id of an
already converted revision. We map the current revision to the same
revision this converted revision was mapped to.
To allow skipping a root revision, getchanges can return the special
string 'hg-convert-skipped-revision' (a.k.a. common.SKIPREV), which
hopefully won't clash with any real id.
The converter_source is responsible for rewriting the parents of the
commit objects to make sure the revision graph makes sense.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 04 Oct 2007 23:21:37 -0300 |
parents | f6e961c0155b |
children |
line wrap: on
line source
#!/bin/sh HGMERGE=true; export HGMERGE hg init basic cd basic echo '# should complain' hg backout hg backout -r 0 0 echo '# basic operation' 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