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 |
|
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