tests/test-backout.out
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Mon, 16 Apr 2007 20:17:39 -0300
changeset 4359 2e3c54fb79a3
parent 4190 e8ee8fdeddb1
child 4718 934275cd4526
permissions -rw-r--r--
actually port simplemerge to hg - use bdiff instead of patiencediff; this is a larger change, since bdiff works on 2 multi-line strings, while patiencediff works on 2 lists; - rename the main class from Merge3 to Merge3Text and add a Merge3 class that derives from Merge3Text. This new Merge3 class has the same interface from the original class, so that the tests still work; - Merge3 uses util.binary to detect binary data and raises util.Abort instead of a specific exception; - don't use the @decorator syntax, to keep python2.3 compatibility; - the test uses unittest, which likes to print how long it took to run. This obviously doesn't play too well with hg's test suite, so we override time.time to fool unittest; - one test has a different (but still valid) output because of the different diff algorithm used; - the TestCase class used by bzr has some extras to help debugging. test-merge3.py used 2 of them: - log method to log some data - assertEqualDiff method to ease viewing diffs of diffs We add a dummy log method and use regular assertEquals instead of assertEqualDiff. - make simplemerge executable and add "#!/usr/bin/env python" header

# 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