annotate tests/test-backout.out @ 5192:33015dac5df5

convert: fix mercurial_sink.putcommit Changeset 4ebc8693ce72 added some code to putcommit to avoid creating a revision that touches no files, but this can break regular conversions from some repositories: - conceptually, since we're converting a repo, we should try to make the new hg repo as similar as possible to the original repo - we should create a new changeset, even if the original revision didn't touch any files (maybe the commit message had some important bit); - even if a "regular" revision that doesn't touch any file may seem weird (and maybe even broken), it's completely legitimate for a merge revision to not touch any file, and, if we just skip it, the converted repo will end up with wrong history and possibly an extra head. As an example, say the crew and main hg repos are sync'ed. Somebody sends an important patch to the mailing list. Matt quickly applies and pushes it. But at the same time somebody also applies it to crew and pushes it. Suppose the commit message ended up being a bit different (say, there was a typo and somebody didn't fix it) or that the date ended up being different (because of different patch-applying scripts): the changeset hashes will be different, but the manifests will be the same. Since both changesets were pushed to public repos, it's hard to recall them. If both are merged, the manifest from the resulting merge revision will have the exact same contents as its parents - i.e. the merge revision really doesn't touch any file at all. To keep the file filtering stuff "working", the generic code was changed to skip empty revisions if we're filtering the repo, fixing a bug in the process (we want parents[0] instead of tip).
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 17 Aug 2007 20:18:05 -0300
parents f6e961c0155b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4726
f6e961c0155b Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4718
diff changeset
1 # should complain
f6e961c0155b Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4718
diff changeset
2 abort: please specify a revision to backout
f6e961c0155b Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4718
diff changeset
3 abort: please specify just one revision
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
4 # basic operation
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
5 adding a
2407
8fe3d60b7f19 revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2303
diff changeset
6 reverting a
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
7 changeset 2:2929462c3dff backs out changeset 1:a820f4f40a57
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
8 a
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
9 # file that was removed is recreated
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
10 adding a
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
11 adding a
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
12 changeset 2:de31bdc76c0d backs out changeset 1:76862dcce372
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
13 content
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
14 # backout of backout is as if nothing happened
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
15 removing a
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
16 changeset 3:7f6d0f120113 backs out changeset 2:de31bdc76c0d
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
17 cat: a: No such file or directory
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
18 # backout with merge
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
19 adding a
2407
8fe3d60b7f19 revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2303
diff changeset
20 reverting a
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
21 changeset 3:3eb045e364a4 backs out changeset 1:314f55b1bf23
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
22 merging with changeset 2:b66ea5b77abb
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
23 merging a
2175
b2ae81a7df29 Make hg update more verbose by default (issue12)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2158
diff changeset
24 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b2ae81a7df29 Make hg update more verbose by default (issue12)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2158
diff changeset
25 (branch merge, don't forget to commit)
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
26 line 1
2492
2f4addf56715 Test case for #295
Brendan Cully <brendan@kublai.com>
parents: 2407
diff changeset
27 # backout should not back out subsequent changesets
2f4addf56715 Test case for #295
Brendan Cully <brendan@kublai.com>
parents: 2407
diff changeset
28 adding a
2f4addf56715 Test case for #295
Brendan Cully <brendan@kublai.com>
parents: 2407
diff changeset
29 adding b
2f4addf56715 Test case for #295
Brendan Cully <brendan@kublai.com>
parents: 2407
diff changeset
30 reverting a
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
31 changeset 3:3202beb76721 backs out changeset 1:22bca4c721e5
2493
9c660e691e90 print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
32 the backout changeset is a new head - do not forget to merge
2769
2ace3bf43089 tests: fix output for test-backout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2619
diff changeset
33 (use "backout --merge" if you want to auto-merge)
2619
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
34 adding a
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
35 adding b
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
36 adding c
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
37 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
38 adding d
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
39 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
40 (branch merge, don't forget to commit)
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
41 # backout of merge should fail
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
42 abort: cannot back out a merge changeset without --parent
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
43 # backout of merge with bad parent should fail
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
44 abort: cb9a9f314b8b is not a parent of b2f3bb92043e
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
45 # backout of non-merge with parent should fail
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
46 abort: cannot use --parent on non-merge changeset
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
47 # backout with valid parent should be ok
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
48 removing d
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
49 changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e
2619
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
50 rolling back last transaction
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
51 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc0ec2b64150 update test-backout.out
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2493
diff changeset
52 removing c
4718
934275cd4526 backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents: 4190
diff changeset
53 changeset 5:033590168430 backs out changeset 4:b2f3bb92043e