Mercurial > hg > mercurial-crew-with-dirclash
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 |
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 | 4 # basic operation |
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 | 8 a |
9 # file that was removed is recreated | |
10 adding a | |
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 | 13 content |
14 # backout of backout is as if nothing happened | |
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 | 17 cat: a: No such file or directory |
18 # backout with merge | |
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 | 22 merging with changeset 2:b66ea5b77abb |
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 | 26 line 1 |
2492 | 27 # backout should not back out subsequent changesets |
28 adding a | |
29 adding b | |
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 |