annotate tests/test-filebranch @ 1253:a45e717c61a8

Add rename/mv command. This is the logical equivalent of copy and remove, and is in fact implemented as such. It doesn't use the remove command directly.
author Bryan O'Sullivan <bos@serpentine.com>
date Wed, 14 Sep 2005 16:34:22 -0700
parents 6f274afc05c7
children 7544700fd931
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
1 #!/bin/sh
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
2
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
3 # This test makes sure that we don't mark a file as merged with its ancestor
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
4 # when we do a merge.
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
5
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
6 cat <<'EOF' > merge
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
7 #!/bin/sh
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
8 echo merging for `basename $1`
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
9 EOF
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
10 chmod +x merge
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
11
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
12 echo creating base
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
13 hg init a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
14 cd a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
15 echo 1 > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
16 echo 1 > bar
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
17 echo 1 > baz
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
18 echo 1 > quux
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
19 hg add foo bar baz quux
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
20 hg commit -m "base" -d "0 0"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
21
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
22 cd ..
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
23 hg clone a b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
24
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
25 echo creating branch a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
26 cd a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
27 echo 2a > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
28 echo 2a > bar
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
29 hg commit -m "branch a" -d "0 0"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
30
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
31 echo creating branch b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
32
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
33 cd ..
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
34 cd b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
35 echo 2b > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
36 echo 2b > baz
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
37 hg commit -m "branch b" -d "0 0"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
38
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
39 echo "we shouldn't have anything but n state here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
40 hg debugstate | cut -b 1-16,35-
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
41
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
42 echo merging
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
43 hg pull ../a
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
44 env HGMERGE=../merge hg update -vm
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
45
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
46 echo 2m > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
47 echo 2b > baz
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
48 echo new > quux
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
49
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
50 echo "we shouldn't have anything but foo in merge state here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
51 hg debugstate | cut -b 1-16,35- | grep "^m"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
52
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
53 hg ci -m "merge" -d "0 0"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
54
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
55 echo "main: we should have a merge here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
56 hg debugindex .hg/00changelog.i
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
57
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
58 echo "log should show foo and quux changed"
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
59 hg log -v -r tip
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
60
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
61 echo "foo: we should have a merge here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
62 hg debugindex .hg/data/foo.i
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
63
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
64 echo "bar: we shouldn't have a merge here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
65 hg debugindex .hg/data/bar.i
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
66
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
67 echo "baz: we shouldn't have a merge here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
68 hg debugindex .hg/data/baz.i
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
69
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
70 echo "quux: we shouldn't have a merge here"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
71 hg debugindex .hg/data/quux.i
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
72
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
73 echo "manifest entries should match tips of all files"
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
74 hg manifest
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
75
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
76 echo "everything should be clean now"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
77 hg status
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
78
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
79 hg verify