##// END OF EJS Templates
tests: unify test-merge-internal-tools-pattern
Adrian Buehlmann -
r12257:470e0b1d default
parent child Browse files
Show More
@@ -1,56 +1,111 b''
1 #!/bin/sh
1 # Make sure that the internal merge tools (internal:fail, internal:local, and
2
3 # make sure that the internal merge tools (internal:fail, internal:local, and
4 # internal:other) are used when matched by a merge-pattern in hgrc
2 # internal:other) are used when matched by a merge-pattern in hgrc
5
3
6 unset HGMERGE # make sure HGMERGE doesn't interfere with the test
4 Make sure HGMERGE doesn't interfere with the test:
5
6 $ unset HGMERGE
7
8 $ hg init
9
10 Initial file contents:
7
11
8 hg init
12 $ echo "line 1" > f
13 $ echo "line 2" >> f
14 $ echo "line 3" >> f
15 $ hg ci -Am "revision 0"
16 adding f
17
18 $ cat f
19 line 1
20 line 2
21 line 3
22
23 Branch 1: editing line 1:
24
25 $ sed 's/line 1/first line/' f > f.new
26 $ mv f.new f
27 $ hg ci -Am "edited first line"
9
28
10 echo "# initial file contents"
29 Branch 2: editing line 3:
11 echo "line 1" > f
30
12 echo "line 2" >> f
31 $ hg update 0
13 echo "line 3" >> f
32 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
14 hg commit -Am "revision 0"
33 $ sed 's/line 3/third line/' f > f.new
15 cat f
34 $ mv f.new f
16 echo "# branch 1: editing line 1"
35 $ hg ci -Am "edited third line"
17 sed 's/line 1/first line/' f > f.new
36 created new head
18 mv f.new f
37
19 hg commit -Am "edited first line"
38 Merge using internal:fail tool:
39
40 $ echo "[merge-patterns]" > .hg/hgrc
41 $ echo "* = internal:fail" >> .hg/hgrc
20
42
21 echo "# branch 2: editing line 3"
43 $ hg merge
22 hg update 0
44 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
23 sed 's/line 3/third line/' f > f.new
45 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
24 mv f.new f
46
25 hg commit -Am "edited third line"
47 $ cat f
48 line 1
49 line 2
50 third line
51
52 $ hg stat
53 M f
54
55 Merge using internal:local tool:
26
56
27 echo "# merge using internal:fail tool"
57 $ hg update -C 2
28 echo "[merge-patterns]" > .hg/hgrc
58 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29 echo "* = internal:fail" >> .hg/hgrc
59 $ sed 's/internal:fail/internal:local/' .hg/hgrc > .hg/hgrc.new
30 hg merge
60 $ mv .hg/hgrc.new .hg/hgrc
31 cat f
61
32 hg stat
62 $ hg merge
63 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
64 (branch merge, don't forget to commit)
65
66 $ cat f
67 line 1
68 line 2
69 third line
33
70
34 echo "# merge using internal:local tool"
71 $ hg stat
35 hg update -C 2
72 M f
36 sed 's/internal:fail/internal:local/' .hg/hgrc > .hg/hgrc.new
73
37 mv .hg/hgrc.new .hg/hgrc
74 Merge using internal:other tool:
38 hg merge
75
39 cat f
76 $ hg update -C 2
40 hg stat
77 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
78 $ sed 's/internal:local/internal:other/' .hg/hgrc > .hg/hgrc.new
79 $ mv .hg/hgrc.new .hg/hgrc
80
81 $ hg merge
82 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
83 (branch merge, don't forget to commit)
41
84
42 echo "# merge using internal:other tool"
85 $ cat f
43 hg update -C 2
86 first line
44 sed 's/internal:local/internal:other/' .hg/hgrc > .hg/hgrc.new
87 line 2
45 mv .hg/hgrc.new .hg/hgrc
88 line 3
46 hg merge
89
47 cat f
90 $ hg stat
48 hg stat
91 M f
92
93 Merge using default tool:
94
95 $ hg update -C 2
96 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
97 $ rm .hg/hgrc
49
98
50 echo "# merge using default tool"
99 $ hg merge
51 hg update -C 2
100 merging f
52 rm .hg/hgrc
101 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
53 hg merge
102 (branch merge, don't forget to commit)
54 cat f
55 hg stat
56
103
104 $ cat f
105 first line
106 line 2
107 third line
108
109 $ hg stat
110 M f
111
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now