tests/test-backout.out
author Emanuele Aina <em@nerd.ocracy.org>
Wed, 28 Mar 2007 21:34:12 +0200
changeset 4307 c8919eb0f315
parent 4190 e8ee8fdeddb1
child 4718 934275cd4526
permissions -rw-r--r--
purge: abort with missing files avoiding problems with name-mangling fs In a name mangling filesystem (e.g. a case insensitive one) dirstate.walk() can yield filenames different from the ones stored in the dirstate. This already confuses the status and add commands, but with purge this may cause data loss. To prevent this purge refuses to work if there are missing files and has a 'force' option if the user knows it is safe. Even with the force option purge checks if any of the missing files is still available in the working dir: if so there may be some problem with the underlying filesystem, so it unconditionally aborts.

# basic operation
adding a
reverting a
changeset 2:b38a34ddfd9f backs out changeset 1:a820f4f40a57
a
# file that was removed is recreated
adding a
adding a
changeset 2:44cd84c7349a backs out changeset 1:76862dcce372
content
# backout of backout is as if nothing happened
removing a
changeset 3:0dd8a0ed5e99 backs out changeset 2:44cd84c7349a
cat: a: No such file or directory
# backout with merge
adding a
reverting a
changeset 3:6c77ecc28460 backs out changeset 1:314f55b1bf23
merging with changeset 2:b66ea5b77abb
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
line 1
# backout should not back out subsequent changesets
adding a
adding b
reverting a
changeset 3:4cbb1e70196a backs out changeset 1:22bca4c721e5
the backout changeset is a new head - do not forget to merge
(use "backout --merge" if you want to auto-merge)
adding a
adding b
adding c
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
adding d
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# backout of merge should fail
abort: cannot back out a merge changeset without --parent
# backout of merge with bad parent should fail
abort: cb9a9f314b8b is not a parent of b2f3bb92043e
# backout of non-merge with parent should fail
abort: cannot use --parent on non-merge changeset
# backout with valid parent should be ok
removing d
changeset 5:11fbd9be634c backs out changeset 4:b2f3bb92043e
rolling back last transaction
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
removing c
changeset 5:1a5f1a63bf2c backs out changeset 4:b2f3bb92043e