Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-newbranch @ 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 | bbc97d419b16 |
children |
rev | line source |
---|---|
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
1 #!/bin/sh |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 hg init t |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
4 cd t |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
5 hg branches |
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
6 |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
7 echo foo > a |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
8 hg add a |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
9 hg ci -m "initial" -d "1000000 0" |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
10 hg branch foo |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
11 hg branch |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
12 hg ci -m "add branch name" -d "1000000 0" |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
13 hg branch bar |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
14 hg ci -m "change branch name" -d "1000000 0" |
4198
aee3d312c32e
Add test for branch shadowing
Brendan Cully <brendan@kublai.com>
parents:
4176
diff
changeset
|
15 echo % branch shadowing |
4207
7e1c8a565a4f
Move branch read/write to dirstate where it belongs
Matt Mackall <mpm@selenic.com>
parents:
4205
diff
changeset
|
16 hg branch default |
4209
dbc3846c09a1
Merge with -stable, fix small test failure
Matt Mackall <mpm@selenic.com>
diff
changeset
|
17 hg branch -f default |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
18 hg ci -m "clear branch name" -d "1000000 0" |
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
19 |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
20 hg co foo |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
21 hg branch |
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
22 echo bleah > a |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
23 hg ci -m "modify a branch" -d "1000000 0" |
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
24 |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
25 hg merge |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
26 hg branch |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
27 hg ci -m "merge" -d "1000000 0" |
3435
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
28 hg log |
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
29 |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
30 hg branches |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
31 hg branches -q |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
32 |
3451
196baf20232b
Add test for invalid branch cache (fixed by 27ebe4efe98e)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3435
diff
changeset
|
33 echo % test for invalid branch cache |
196baf20232b
Add test for invalid branch cache (fixed by 27ebe4efe98e)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3435
diff
changeset
|
34 hg rollback |
4205
a7af0eeae8a3
Move branches.cache to branch.cache
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
35 cp .hg/branch.cache .hg/bc-invalid |
3760
aeafd80c1e78
small fixes for test-newbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3502
diff
changeset
|
36 hg log -r foo |
4205
a7af0eeae8a3
Move branches.cache to branch.cache
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
37 cp .hg/bc-invalid .hg/branch.cache |
3761
9433bdcaa9ae
Ignore all errors while parsing the branch cache.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3760
diff
changeset
|
38 hg --debug log -r foo |
4205
a7af0eeae8a3
Move branches.cache to branch.cache
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
39 rm .hg/branch.cache |
a7af0eeae8a3
Move branches.cache to branch.cache
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
40 echo corrupted > .hg/branch.cache |
3761
9433bdcaa9ae
Ignore all errors while parsing the branch cache.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3760
diff
changeset
|
41 hg log -qr foo |
4205
a7af0eeae8a3
Move branches.cache to branch.cache
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
42 cat .hg/branch.cache |
4176
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
43 |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
44 echo % update with no arguments: tipmost revision of the current branch |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
45 hg up -q -C 0 |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
46 hg up -q |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
47 hg id |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
48 hg up -q 1 |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
49 hg up -q |
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
50 hg id |
4231
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4207
diff
changeset
|
51 hg branch foobar |
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4207
diff
changeset
|
52 hg up |
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4207
diff
changeset
|
53 |
4410
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
54 echo % fastforward merge |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
55 hg branch ff |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
56 echo ff > ff |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
57 hg ci -Am'fast forward' -d '1000000 0' |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
58 hg up foo |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
59 hg merge ff |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
60 hg branch |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
61 hg commit -m'Merge ff into foo' -d '1000000 0' |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
62 hg parents |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
63 hg manifest |
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
64 |
4231
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4207
diff
changeset
|
65 exit 0 |