##// END OF EJS Templates
tests: make sed usage in test-unionrepo.t cross-platform...
Kevin Bullock -
r19084:70675d77 stable
parent child Browse files
Show More
@@ -1,149 +1,150 b''
1 Test unionrepo functionality
1 Test unionrepo functionality
2
2
3 Create one repository
3 Create one repository
4
4
5 $ hg init repo1
5 $ hg init repo1
6 $ cd repo1
6 $ cd repo1
7 $ touch repo1-0
7 $ touch repo1-0
8 $ echo repo1-0 > f
8 $ echo repo1-0 > f
9 $ hg ci -Aqmrepo1-0
9 $ hg ci -Aqmrepo1-0
10 $ touch repo1-1
10 $ touch repo1-1
11 $ echo repo1-1 >> f
11 $ echo repo1-1 >> f
12 $ hg ci -Aqmrepo1-1
12 $ hg ci -Aqmrepo1-1
13 $ touch repo1-2
13 $ touch repo1-2
14 $ echo repo1-2 >> f
14 $ echo repo1-2 >> f
15 $ hg ci -Aqmrepo1-2
15 $ hg ci -Aqmrepo1-2
16 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
16 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
17 2:68c0685446a3 repo1-2
17 2:68c0685446a3 repo1-2
18 1:8a58db72e69d repo1-1
18 1:8a58db72e69d repo1-1
19 0:f093fec0529b repo1-0
19 0:f093fec0529b repo1-0
20 $ tip1=`hg id -q`
20 $ tip1=`hg id -q`
21 $ cd ..
21 $ cd ..
22
22
23 - and a clone with a not-completely-trivial history
23 - and a clone with a not-completely-trivial history
24
24
25 $ hg clone -q repo1 --rev 0 repo2
25 $ hg clone -q repo1 --rev 0 repo2
26 $ cd repo2
26 $ cd repo2
27 $ touch repo2-1
27 $ touch repo2-1
28 $ sed '1i\
28 $ sed '1i\
29 > repo2-1 at top' f > f.tmp
29 > repo2-1 at top
30 > ' f > f.tmp
30 $ mv f.tmp f
31 $ mv f.tmp f
31 $ hg ci -Aqmrepo2-1
32 $ hg ci -Aqmrepo2-1
32 $ touch repo2-2
33 $ touch repo2-2
33 $ hg pull -q ../repo1 -r 1
34 $ hg pull -q ../repo1 -r 1
34 $ hg merge -q
35 $ hg merge -q
35 $ hg ci -Aqmrepo2-2-merge
36 $ hg ci -Aqmrepo2-2-merge
36 $ touch repo2-3
37 $ touch repo2-3
37 $ echo repo2-3 >> f
38 $ echo repo2-3 >> f
38 $ hg ci -mrepo2-3
39 $ hg ci -mrepo2-3
39 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
40 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
40 4:2f0d178c469c repo2-3
41 4:2f0d178c469c repo2-3
41 3:9e6fb3e0b9da repo2-2-merge
42 3:9e6fb3e0b9da repo2-2-merge
42 2:8a58db72e69d repo1-1
43 2:8a58db72e69d repo1-1
43 1:c337dba826e7 repo2-1
44 1:c337dba826e7 repo2-1
44 0:f093fec0529b repo1-0
45 0:f093fec0529b repo1-0
45 $ cd ..
46 $ cd ..
46
47
47 revisions from repo2 appear as appended / pulled to repo1
48 revisions from repo2 appear as appended / pulled to repo1
48
49
49 $ hg -R union:repo1+repo2 log --template '{rev}:{node|short} {desc|firstline}\n'
50 $ hg -R union:repo1+repo2 log --template '{rev}:{node|short} {desc|firstline}\n'
50 5:2f0d178c469c repo2-3
51 5:2f0d178c469c repo2-3
51 4:9e6fb3e0b9da repo2-2-merge
52 4:9e6fb3e0b9da repo2-2-merge
52 3:c337dba826e7 repo2-1
53 3:c337dba826e7 repo2-1
53 2:68c0685446a3 repo1-2
54 2:68c0685446a3 repo1-2
54 1:8a58db72e69d repo1-1
55 1:8a58db72e69d repo1-1
55 0:f093fec0529b repo1-0
56 0:f093fec0529b repo1-0
56
57
57 manifest can be retrieved for revisions in both repos
58 manifest can be retrieved for revisions in both repos
58
59
59 $ hg -R union:repo1+repo2 mani -r $tip1
60 $ hg -R union:repo1+repo2 mani -r $tip1
60 f
61 f
61 repo1-0
62 repo1-0
62 repo1-1
63 repo1-1
63 repo1-2
64 repo1-2
64 $ hg -R union:repo1+repo2 mani -r 4
65 $ hg -R union:repo1+repo2 mani -r 4
65 f
66 f
66 repo1-0
67 repo1-0
67 repo1-1
68 repo1-1
68 repo2-1
69 repo2-1
69 repo2-2
70 repo2-2
70
71
71 files can be retrieved form both repos
72 files can be retrieved form both repos
72
73
73 $ hg -R repo1 cat repo1/f -r2
74 $ hg -R repo1 cat repo1/f -r2
74 repo1-0
75 repo1-0
75 repo1-1
76 repo1-1
76 repo1-2
77 repo1-2
77
78
78 $ hg -R union:repo1+repo2 cat -r$tip1 repo1/f
79 $ hg -R union:repo1+repo2 cat -r$tip1 repo1/f
79 repo1-0
80 repo1-0
80 repo1-1
81 repo1-1
81 repo1-2
82 repo1-2
82
83
83 $ hg -R union:repo1+repo2 cat -r4 $TESTTMP/repo1/f
84 $ hg -R union:repo1+repo2 cat -r4 $TESTTMP/repo1/f
84 repo2-1 at top
85 repo2-1 at top
85 repo1-0
86 repo1-0
86 repo1-1
87 repo1-1
87
88
88 files can be compared across repos
89 files can be compared across repos
89
90
90 $ hg -R union:repo1+repo2 diff -r$tip1 -rtip
91 $ hg -R union:repo1+repo2 diff -r$tip1 -rtip
91 diff -r 68c0685446a3 -r 2f0d178c469c f
92 diff -r 68c0685446a3 -r 2f0d178c469c f
92 --- a/f Thu Jan 01 00:00:00 1970 +0000
93 --- a/f Thu Jan 01 00:00:00 1970 +0000
93 +++ b/f Thu Jan 01 00:00:00 1970 +0000
94 +++ b/f Thu Jan 01 00:00:00 1970 +0000
94 @@ -1,3 +1,4 @@
95 @@ -1,3 +1,4 @@
95 +repo2-1 at top
96 +repo2-1 at top
96 repo1-0
97 repo1-0
97 repo1-1
98 repo1-1
98 -repo1-2
99 -repo1-2
99 +repo2-3
100 +repo2-3
100
101
101 heads from both repos are found correctly
102 heads from both repos are found correctly
102
103
103 $ hg -R union:repo1+repo2 heads --template '{rev}:{node|short} {desc|firstline}\n'
104 $ hg -R union:repo1+repo2 heads --template '{rev}:{node|short} {desc|firstline}\n'
104 5:2f0d178c469c repo2-3
105 5:2f0d178c469c repo2-3
105 2:68c0685446a3 repo1-2
106 2:68c0685446a3 repo1-2
106
107
107 revsets works across repos
108 revsets works across repos
108
109
109 $ hg -R union:repo1+repo2 id -r "ancestor($tip1, 5)"
110 $ hg -R union:repo1+repo2 id -r "ancestor($tip1, 5)"
110 8a58db72e69d
111 8a58db72e69d
111
112
112 annotate works - an indication that linkrevs works
113 annotate works - an indication that linkrevs works
113
114
114 $ hg --cwd repo1 -R union:../repo2 annotate $TESTTMP/repo1/f -r tip
115 $ hg --cwd repo1 -R union:../repo2 annotate $TESTTMP/repo1/f -r tip
115 3: repo2-1 at top
116 3: repo2-1 at top
116 0: repo1-0
117 0: repo1-0
117 1: repo1-1
118 1: repo1-1
118 5: repo2-3
119 5: repo2-3
119
120
120 union repos can be cloned ... and clones works correctly
121 union repos can be cloned ... and clones works correctly
121
122
122 $ hg clone -U union:repo1+repo2 repo3
123 $ hg clone -U union:repo1+repo2 repo3
123 requesting all changes
124 requesting all changes
124 adding changesets
125 adding changesets
125 adding manifests
126 adding manifests
126 adding file changes
127 adding file changes
127 added 6 changesets with 11 changes to 6 files (+1 heads)
128 added 6 changesets with 11 changes to 6 files (+1 heads)
128
129
129 $ hg -R repo3 paths
130 $ hg -R repo3 paths
130 default = union:repo1+repo2
131 default = union:repo1+repo2
131
132
132 $ hg -R repo3 verify
133 $ hg -R repo3 verify
133 checking changesets
134 checking changesets
134 checking manifests
135 checking manifests
135 crosschecking files in changesets and manifests
136 crosschecking files in changesets and manifests
136 checking files
137 checking files
137 6 files, 6 changesets, 11 total revisions
138 6 files, 6 changesets, 11 total revisions
138
139
139 $ hg -R repo3 heads --template '{rev}:{node|short} {desc|firstline}\n'
140 $ hg -R repo3 heads --template '{rev}:{node|short} {desc|firstline}\n'
140 5:2f0d178c469c repo2-3
141 5:2f0d178c469c repo2-3
141 2:68c0685446a3 repo1-2
142 2:68c0685446a3 repo1-2
142
143
143 $ hg -R repo3 log --template '{rev}:{node|short} {desc|firstline}\n'
144 $ hg -R repo3 log --template '{rev}:{node|short} {desc|firstline}\n'
144 5:2f0d178c469c repo2-3
145 5:2f0d178c469c repo2-3
145 4:9e6fb3e0b9da repo2-2-merge
146 4:9e6fb3e0b9da repo2-2-merge
146 3:c337dba826e7 repo2-1
147 3:c337dba826e7 repo2-1
147 2:68c0685446a3 repo1-2
148 2:68c0685446a3 repo1-2
148 1:8a58db72e69d repo1-1
149 1:8a58db72e69d repo1-1
149 0:f093fec0529b repo1-0
150 0:f093fec0529b repo1-0
General Comments 0
You need to be logged in to leave comments. Login now