Show More
@@ -1,102 +1,104 b'' | |||
|
1 | 1 | #!/bin/sh |
|
2 | 2 | |
|
3 | 3 | mkdir -p t |
|
4 | 4 | cd t |
|
5 | 5 | |
|
6 |
cat << |
|
|
7 | #!/bin/sh | |
|
8 | echo merge $1 $2 $3 > $1 | |
|
6 | cat <<EOF > merge | |
|
7 | import sys, os | |
|
8 | f = open(sys.argv[1], "wb") | |
|
9 | f.write("merge %s %s %s" % (sys.argv[1], sys.argv[2], sys.argv[3])) | |
|
10 | f.close() | |
|
9 | 11 | EOF |
|
10 | chmod +x merge | |
|
12 | HGMERGE="python ../merge"; export HGMERGE | |
|
11 | 13 | |
|
12 | 14 | # perform a test merge with possible renaming |
|
13 | 15 | # |
|
14 | 16 | # args: |
|
15 | 17 | # $1 = action in local branch |
|
16 | 18 | # $2 = action in remote branch |
|
17 | 19 | # $3 = action in working dir |
|
18 | 20 | # $4 = expected result |
|
19 | 21 | tm() |
|
20 | 22 | { |
|
21 | 23 | mkdir t |
|
22 | 24 | cd t |
|
23 | 25 | hg init |
|
24 | 26 | echo "[merge]" >> .hg/hgrc |
|
25 | 27 | echo "followcopies = 1" >> .hg/hgrc |
|
26 | 28 | |
|
27 | 29 | # base |
|
28 | 30 | echo base > a |
|
29 | 31 | echo base > rev # used to force commits |
|
30 | 32 | hg add a rev |
|
31 | 33 | hg ci -m "base" -d "0 0" |
|
32 | 34 | |
|
33 | 35 | # remote |
|
34 | 36 | echo remote > rev |
|
35 | 37 | if [ "$2" != "" ] ; then $2 ; fi |
|
36 | 38 | hg ci -m "remote" -d "0 0" |
|
37 | 39 | |
|
38 | 40 | # local |
|
39 | 41 | hg co -q 0 |
|
40 | 42 | echo local > rev |
|
41 | 43 | if [ "$1" != "" ] ; then $1 ; fi |
|
42 | 44 | hg ci -m "local" -d "0 0" |
|
43 | 45 | |
|
44 | 46 | # working dir |
|
45 | 47 | echo local > rev |
|
46 | 48 | if [ "$3" != "" ] ; then $3 ; fi |
|
47 | 49 | |
|
48 | 50 | # merge |
|
49 | 51 | echo "--------------" |
|
50 | 52 | echo "test L:$1 R:$2 W:$3 - $4" |
|
51 | 53 | echo "--------------" |
|
52 |
|
|
|
54 | hg merge -y --debug --traceback | |
|
53 | 55 | |
|
54 | 56 | echo "--------------" |
|
55 | 57 | hg status -camC -X rev |
|
56 | 58 | |
|
57 | 59 | hg ci -m "merge" -d "0 0" |
|
58 | 60 | |
|
59 | 61 | echo "--------------" |
|
60 | 62 | echo |
|
61 | 63 | |
|
62 | 64 | cd .. |
|
63 | 65 | rm -r t |
|
64 | 66 | } |
|
65 | 67 | |
|
66 | 68 | up() { |
|
67 | 69 | cp rev $1 |
|
68 | 70 | hg add $1 2> /dev/null |
|
69 | 71 | if [ "$2" != "" ] ; then |
|
70 | 72 | cp rev $2 |
|
71 | 73 | hg add $2 2> /dev/null |
|
72 | 74 | fi |
|
73 | 75 | } |
|
74 | 76 | |
|
75 | 77 | uc() { up $1; hg cp $1 $2; } # update + copy |
|
76 | 78 | um() { up $1; hg mv $1 $2; } |
|
77 | 79 | nc() { hg cp $1 $2; } # just copy |
|
78 | 80 | nm() { hg mv $1 $2; } # just move |
|
79 | 81 | |
|
80 | 82 | tm "up a " "nc a b" " " "1 get local a to b" |
|
81 | 83 | tm "nc a b" "up a " " " "2 get rem change to a and b" |
|
82 | 84 | tm "up a " "nm a b" " " "3 get local a change to b, remove a" |
|
83 | 85 | tm "nm a b" "up a " " " "4 get remote change to b" |
|
84 | 86 | tm " " "nc a b" " " "5 get b" |
|
85 | 87 | tm "nc a b" " " " " "6 nothing" |
|
86 | 88 | tm " " "nm a b" " " "7 get b" |
|
87 | 89 | tm "nm a b" " " " " "8 nothing" |
|
88 | 90 | tm "um a b" "um a b" " " "9 do merge with ancestor in a" |
|
89 | 91 | #tm "um a c" "um x c" " " "10 do merge with no ancestor" |
|
90 | 92 | tm "nm a b" "nm a c" " " "11 get c, keep b" |
|
91 | 93 | tm "nc a b" "up b " " " "12 merge b no ancestor" |
|
92 | 94 | tm "up b " "nm a b" " " "13 merge b no ancestor" |
|
93 | 95 | tm "nc a b" "up a b" " " "14 merge b no ancestor" |
|
94 | 96 | tm "up b " "nm a b" " " "15 merge b no ancestor, remove a" |
|
95 | 97 | tm "nc a b" "up a b" " " "16 get a, merge b no ancestor" |
|
96 | 98 | tm "up a b" "nc a b" " " "17 keep a, merge b no ancestor" |
|
97 | 99 | tm "nm a b" "up a b" " " "18 merge b no ancestor" |
|
98 | 100 | tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" |
|
99 | 101 | tm "up a " "um a b" " " "20 merge a and b to b, remove a" |
|
100 | 102 | tm "um a b" "up a " " " "21 merge a and b to b" |
|
101 | 103 | #tm "nm a b" "um x a" " " "22 get a, keep b" |
|
102 | 104 | tm "nm a b" "up a c" " " "23 get c, keep b" |
General Comments 0
You need to be logged in to leave comments.
Login now