##// END OF EJS Templates
merge with stable
Matt Mackall -
r16109:cb756482 merge default
parent child Browse files
Show More
@@ -245,6 +245,10 b' class converter_sink(object):'
245 """
245 """
246 pass
246 pass
247
247
248 def hascommit(self, rev):
249 """Return True if the sink contains rev"""
250 raise NotImplementedError()
251
248 class commandline(object):
252 class commandline(object):
249 def __init__(self, ui, command):
253 def __init__(self, ui, command):
250 self.ui = ui
254 self.ui = ui
@@ -407,3 +411,25 b' class mapfile(dict):'
407 if self.fp:
411 if self.fp:
408 self.fp.close()
412 self.fp.close()
409 self.fp = None
413 self.fp = None
414
415 def parsesplicemap(path):
416 """Parse a splicemap, return a child/parents dictionary."""
417 m = {}
418 try:
419 fp = open(path, 'r')
420 for i, line in enumerate(fp):
421 try:
422 child, parents = line.splitlines()[0].rstrip().rsplit(' ', 1)
423 parents = parents.replace(',', ' ').split()
424 except ValueError:
425 raise util.Abort(_('syntax error in %s(%d): child parent1'
426 '[,parent2] expected') % (path, i + 1))
427 pp = []
428 for p in parents:
429 if p not in pp:
430 pp.append(p)
431 m[child] = pp
432 except IOError, e:
433 if e.errno != errno.ENOENT:
434 raise
435 return m
@@ -15,7 +15,7 b' from monotone import monotone_source'
15 from gnuarch import gnuarch_source
15 from gnuarch import gnuarch_source
16 from bzr import bzr_source
16 from bzr import bzr_source
17 from p4 import p4_source
17 from p4 import p4_source
18 import filemap
18 import filemap, common
19
19
20 import os, shutil
20 import os, shutil
21 from mercurial import hg, util, encoding
21 from mercurial import hg, util, encoding
@@ -118,7 +118,7 b' class converter(object):'
118 self.readauthormap(opts.get('authormap'))
118 self.readauthormap(opts.get('authormap'))
119 self.authorfile = self.dest.authorfile()
119 self.authorfile = self.dest.authorfile()
120
120
121 self.splicemap = mapfile(ui, opts.get('splicemap'))
121 self.splicemap = common.parsesplicemap(opts.get('splicemap'))
122 self.branchmap = mapfile(ui, opts.get('branchmap'))
122 self.branchmap = mapfile(ui, opts.get('branchmap'))
123
123
124 def walktree(self, heads):
124 def walktree(self, heads):
@@ -142,6 +142,29 b' class converter(object):'
142
142
143 return parents
143 return parents
144
144
145 def mergesplicemap(self, parents, splicemap):
146 """A splicemap redefines child/parent relationships. Check the
147 map contains valid revision identifiers and merge the new
148 links in the source graph.
149 """
150 for c in splicemap:
151 if c not in parents:
152 if not self.dest.hascommit(self.map.get(c, c)):
153 # Could be in source but not converted during this run
154 self.ui.warn(_('splice map revision %s is not being '
155 'converted, ignoring\n') % c)
156 continue
157 pc = []
158 for p in splicemap[c]:
159 # We do not have to wait for nodes already in dest.
160 if self.dest.hascommit(self.map.get(p, p)):
161 continue
162 # Parent is not in dest and not being converted, not good
163 if p not in parents:
164 raise util.Abort(_('unknown splice map parent: %s') % p)
165 pc.append(p)
166 parents[c] = pc
167
145 def toposort(self, parents, sortmode):
168 def toposort(self, parents, sortmode):
146 '''Return an ordering such that every uncommitted changeset is
169 '''Return an ordering such that every uncommitted changeset is
147 preceeded by all its uncommitted ancestors.'''
170 preceeded by all its uncommitted ancestors.'''
@@ -319,7 +342,7 b' class converter(object):'
319 self.commitcache[prev].branch))
342 self.commitcache[prev].branch))
320 self.dest.setbranch(commit.branch, pbranches)
343 self.dest.setbranch(commit.branch, pbranches)
321 try:
344 try:
322 parents = self.splicemap[rev].replace(',', ' ').split()
345 parents = self.splicemap[rev]
323 self.ui.status(_('spliced in %s as parents of %s\n') %
346 self.ui.status(_('spliced in %s as parents of %s\n') %
324 (parents, rev))
347 (parents, rev))
325 parents = [self.map.get(p, p) for p in parents]
348 parents = [self.map.get(p, p) for p in parents]
@@ -340,6 +363,7 b' class converter(object):'
340 self.ui.status(_("scanning source...\n"))
363 self.ui.status(_("scanning source...\n"))
341 heads = self.source.getheads()
364 heads = self.source.getheads()
342 parents = self.walktree(heads)
365 parents = self.walktree(heads)
366 self.mergesplicemap(parents, self.splicemap)
343 self.ui.status(_("sorting...\n"))
367 self.ui.status(_("sorting...\n"))
344 t = self.toposort(parents, sortmode)
368 t = self.toposort(parents, sortmode)
345 num = len(t)
369 num = len(t)
@@ -223,6 +223,12 b' class mercurial_sink(converter_sink):'
223 self.repo._bookmarks[bookmark] = bin(updatedbookmark[bookmark])
223 self.repo._bookmarks[bookmark] = bin(updatedbookmark[bookmark])
224 bookmarks.write(self.repo)
224 bookmarks.write(self.repo)
225
225
226 def hascommit(self, rev):
227 if not rev in self.repo and self.clonebranches:
228 raise util.Abort(_('revision %s not be found in destination '
229 'repository (lookups with clonebranches=true '
230 'are not implemented)') % rev)
231 return rev in self.repo
226
232
227 class mercurial_source(converter_source):
233 class mercurial_source(converter_source):
228 def __init__(self, ui, path, rev=None):
234 def __init__(self, ui, path, rev=None):
@@ -1187,3 +1187,12 b' class svn_sink(converter_sink, commandli'
1187 def puttags(self, tags):
1187 def puttags(self, tags):
1188 self.ui.warn(_('writing Subversion tags is not yet implemented\n'))
1188 self.ui.warn(_('writing Subversion tags is not yet implemented\n'))
1189 return None, None
1189 return None, None
1190
1191 def hascommit(self, rev):
1192 # This is not correct as one can convert to an existing subversion
1193 # repository and childmap would not list all revisions. Too bad.
1194 if rev in self.childmap:
1195 return True
1196 raise util.Abort(_('splice map revision %s not found in subversion '
1197 'child map (revision lookups are not implemented')
1198 % rev)
@@ -449,3 +449,11 b' def mkstemp(repo, prefix):'
449 class storeprotonotcapable(Exception):
449 class storeprotonotcapable(Exception):
450 def __init__(self, storetypes):
450 def __init__(self, storetypes):
451 self.storetypes = storetypes
451 self.storetypes = storetypes
452
453 def getcurrentheads(repo):
454 branches = repo.branchmap()
455 heads = []
456 for branch in branches:
457 newheads = repo.branchheads(branch)
458 heads = heads + newheads
459 return heads
@@ -657,6 +657,7 b' def override_pull(orig, ui, repo, source'
657 repo.lfpullsource = source
657 repo.lfpullsource = source
658 if not source:
658 if not source:
659 source = 'default'
659 source = 'default'
660 oldheads = lfutil.getcurrentheads(repo)
660 result = orig(ui, repo, source, **opts)
661 result = orig(ui, repo, source, **opts)
661 # If we do not have the new largefiles for any new heads we pulled, we
662 # If we do not have the new largefiles for any new heads we pulled, we
662 # will run into a problem later if we try to merge or rebase with one of
663 # will run into a problem later if we try to merge or rebase with one of
@@ -664,12 +665,11 b' def override_pull(orig, ui, repo, source'
664 # cache.
665 # cache.
665 ui.status(_("caching new largefiles\n"))
666 ui.status(_("caching new largefiles\n"))
666 numcached = 0
667 numcached = 0
667 branches = repo.branchmap()
668 heads = lfutil.getcurrentheads(repo)
668 for branch in branches:
669 newheads = set(heads).difference(set(oldheads))
669 heads = repo.branchheads(branch)
670 for head in newheads:
670 for head in heads:
671 (cached, missing) = lfcommands.cachelfiles(ui, repo, head)
671 (cached, missing) = lfcommands.cachelfiles(ui, repo, head)
672 numcached += len(cached)
672 numcached += len(cached)
673 ui.status(_("%d largefiles cached\n" % numcached))
673 ui.status(_("%d largefiles cached\n" % numcached))
674 return result
674 return result
675
675
@@ -979,7 +979,7 b' def walkchangerevs(repo, match, opts, pr'
979 wanted = set()
979 wanted = set()
980 slowpath = match.anypats() or (match.files() and opts.get('removed'))
980 slowpath = match.anypats() or (match.files() and opts.get('removed'))
981 fncache = {}
981 fncache = {}
982 change = util.cachefunc(repo.changectx)
982 change = repo.changectx
983
983
984 # First step is to fill wanted, the set of revisions that we want to yield.
984 # First step is to fill wanted, the set of revisions that we want to yield.
985 # When it does not induce extra cost, we also fill fncache for revisions in
985 # When it does not induce extra cost, we also fill fncache for revisions in
@@ -4276,7 +4276,7 b' def phase(ui, repo, *revs, **opts):'
4276
4276
4277 def postincoming(ui, repo, modheads, optupdate, checkout):
4277 def postincoming(ui, repo, modheads, optupdate, checkout):
4278 if modheads == 0:
4278 if modheads == 0:
4279 return 1
4279 return
4280 if optupdate:
4280 if optupdate:
4281 movemarkfrom = repo['.'].node()
4281 movemarkfrom = repo['.'].node()
4282 try:
4282 try:
@@ -4327,8 +4327,7 b' def pull(ui, repo, source="default", **o'
4327 If SOURCE is omitted, the 'default' path will be used.
4327 If SOURCE is omitted, the 'default' path will be used.
4328 See :hg:`help urls` for more information.
4328 See :hg:`help urls` for more information.
4329
4329
4330 Returns 0 on success, 1 if no changes found or an update had
4330 Returns 0 on success, 1 if an update had unresolved files.
4331 unresolved files.
4332 """
4331 """
4333 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
4332 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
4334 other = hg.peer(repo, opts, source)
4333 other = hg.peer(repo, opts, source)
@@ -44,7 +44,6 b' import bookmark by name'
44 pulling from ../a
44 pulling from ../a
45 no changes found
45 no changes found
46 importing bookmark X
46 importing bookmark X
47 [1]
48 $ hg bookmark
47 $ hg bookmark
49 X 0:4e3505fd9583
48 X 0:4e3505fd9583
50 Y 0:4e3505fd9583
49 Y 0:4e3505fd9583
@@ -185,7 +184,6 b' hgweb'
185 no changes found
184 no changes found
186 divergent bookmark X stored as X@1
185 divergent bookmark X stored as X@1
187 importing bookmark Z
186 importing bookmark Z
188 [1]
189 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
187 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
190 requesting all changes
188 requesting all changes
191 adding changesets
189 adding changesets
@@ -85,7 +85,6 b' Pull full.hg into test (using --cwd)'
85 pulling from ../full.hg
85 pulling from ../full.hg
86 searching for changes
86 searching for changes
87 no changes found
87 no changes found
88 [1]
89
88
90 Pull full.hg into empty (using --cwd)
89 Pull full.hg into empty (using --cwd)
91
90
@@ -120,7 +119,6 b' Pull full.hg into test (using -R)'
120 pulling from full.hg
119 pulling from full.hg
121 searching for changes
120 searching for changes
122 no changes found
121 no changes found
123 [1]
124
122
125 Pull full.hg into empty (using -R)
123 Pull full.hg into empty (using -R)
126
124
@@ -128,7 +126,6 b' Pull full.hg into empty (using -R)'
128 pulling from full.hg
126 pulling from full.hg
129 searching for changes
127 searching for changes
130 no changes found
128 no changes found
131 [1]
132
129
133 Rollback empty
130 Rollback empty
134
131
@@ -4,7 +4,8 b''
4 $ echo 'graphlog =' >> $HGRCPATH
4 $ echo 'graphlog =' >> $HGRCPATH
5 $ glog()
5 $ glog()
6 > {
6 > {
7 > hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
7 > hg glog --template '{rev}:{node|short} "{desc|firstline}"\
8 > files: {files}\n' "$@"
8 > }
9 > }
9 $ hg init repo1
10 $ hg init repo1
10 $ cd repo1
11 $ cd repo1
@@ -21,6 +22,14 b''
21 adding c
22 adding c
22 $ PARENTID2=`hg id --debug -i`
23 $ PARENTID2=`hg id --debug -i`
23 $ cd ..
24 $ cd ..
25 $ glog -R repo1
26 @ 2:e55c719b85b6 "addc" files: c
27 |
28 o 1:6d4c2037ddc2 "addb" files: a b
29 |
30 o 0:07f494440405 "adda" files: a
31
32
24 $ hg init repo2
33 $ hg init repo2
25 $ cd repo2
34 $ cd repo2
26 $ echo b > a
35 $ echo b > a
@@ -36,6 +45,13 b''
36 $ hg ci -Am adde
45 $ hg ci -Am adde
37 adding e
46 adding e
38 $ cd ..
47 $ cd ..
48 $ glog -R repo2
49 @ 2:a39b65753b0a "adde" files: e
50 |
51 o 1:e4ea00df9189 "changed" files: d
52 |
53 o 0:527cdedf31fb "addaandd" files: a d
54
39
55
40 test invalid splicemap
56 test invalid splicemap
41
57
@@ -43,15 +59,18 b' test invalid splicemap'
43 > $CHILDID2
59 > $CHILDID2
44 > EOF
60 > EOF
45 $ hg convert --splicemap splicemap repo2 repo1
61 $ hg convert --splicemap splicemap repo2 repo1
46 abort: syntax error in splicemap(1): key/value pair expected
62 abort: syntax error in splicemap(1): child parent1[,parent2] expected
47 [255]
63 [255]
48
64
49 splice repo2 on repo1
65 splice repo2 on repo1
50
66
51 $ cat > splicemap <<EOF
67 $ cat > splicemap <<EOF
52 > $CHILDID1 $PARENTID1
68 > $CHILDID1 $PARENTID1
53 > $CHILDID2 $PARENTID2,$CHILDID1
69 > $CHILDID2 $PARENTID2,$CHILDID1
54 > EOF
70 > EOF
71 $ cat splicemap
72 527cdedf31fbd5ea708aa14eeecf53d4676f38db 6d4c2037ddc2cb2627ac3a244ecce35283268f8e
73 e4ea00df91897da3079a10fab658c1eddba6617b e55c719b85b60e5102fac26110ba626e7cb6b7dc,527cdedf31fbd5ea708aa14eeecf53d4676f38db
55 $ hg clone repo1 target1
74 $ hg clone repo1 target1
56 updating to branch default
75 updating to branch default
57 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
76 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -65,15 +84,137 b' splice repo2 on repo1'
65 spliced in ['e55c719b85b60e5102fac26110ba626e7cb6b7dc', '527cdedf31fbd5ea708aa14eeecf53d4676f38db'] as parents of e4ea00df91897da3079a10fab658c1eddba6617b
84 spliced in ['e55c719b85b60e5102fac26110ba626e7cb6b7dc', '527cdedf31fbd5ea708aa14eeecf53d4676f38db'] as parents of e4ea00df91897da3079a10fab658c1eddba6617b
66 0 adde
85 0 adde
67 $ glog -R target1
86 $ glog -R target1
68 o 5 "adde" files: e
87 o 5:16bc847b02aa "adde" files: e
88 |
89 o 4:e30e4fee3418 "changed" files: d
90 |\
91 | o 3:e673348c3a3c "addaandd" files: a d
92 | |
93 @ | 2:e55c719b85b6 "addc" files: c
94 |/
95 o 1:6d4c2037ddc2 "addb" files: a b
69 |
96 |
70 o 4 "changed" files: d
97 o 0:07f494440405 "adda" files: a
98
99
100
101
102 Test splicemap and conversion order
103
104 $ hg init ordered
105 $ cd ordered
106 $ echo a > a
107 $ hg ci -Am adda
108 adding a
109 $ hg branch branch
110 marked working directory as branch branch
111 (branches are permanent and global, did you want a bookmark?)
112 $ echo a >> a
113 $ hg ci -Am changea
114 $ echo a >> a
115 $ hg ci -Am changeaagain
116 $ hg up 0
117 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
118 $ echo b > b
119 $ hg ci -Am addb
120 adding b
121
122 We want 2 to depend on 1 and 3. Since 3 is always converted after 2,
123 the bug should be exhibited with all conversion orders.
124
125 $ cat > ../splicemap <<EOF
126 > $(hg id -r 2 -i --debug) $(hg id -r 1 -i --debug),$(hg id -r 3 -i --debug)
127 > EOF
128 $ cd ..
129 $ cat splicemap
130 7c364e7fa7d70ae525610c016317ed717b519d97 717d54d67e6c31fd75ffef2ff3042bdd98418437,102a90ea7b4a3361e4082ed620918c261189a36a
131
132 Test regular conversion
133
134 $ hg convert --splicemap splicemap ordered ordered-hg1
135 initializing destination ordered-hg1 repository
136 scanning source...
137 sorting...
138 converting...
139 3 adda
140 2 changea
141 1 addb
142 0 changeaagain
143 spliced in ['717d54d67e6c31fd75ffef2ff3042bdd98418437', '102a90ea7b4a3361e4082ed620918c261189a36a'] as parents of 7c364e7fa7d70ae525610c016317ed717b519d97
144 $ glog -R ordered-hg1
145 o 3:4cb04b9afbf2 "changeaagain" files: a
71 |\
146 |\
72 | o 3 "addaandd" files: a d
147 | o 2:102a90ea7b4a "addb" files: b
73 | |
148 | |
74 @ | 2 "addc" files: c
149 o | 1:717d54d67e6c "changea" files: a
75 |/
150 |/
76 o 1 "addb" files: a b
151 o 0:07f494440405 "adda" files: a
77 |
78 o 0 "adda" files: a
79
152
153
154 Test conversion with parent revisions already in dest, using source
155 and destination identifiers. Test unknown splicemap target.
156
157 $ hg convert -r1 ordered ordered-hg2
158 initializing destination ordered-hg2 repository
159 scanning source...
160 sorting...
161 converting...
162 1 adda
163 0 changea
164 $ hg convert -r3 ordered ordered-hg2
165 scanning source...
166 sorting...
167 converting...
168 0 addb
169 $ cat > splicemap <<EOF
170 > $(hg -R ordered id -r 2 -i --debug) \
171 > $(hg -R ordered-hg2 id -r 1 -i --debug),\
172 > $(hg -R ordered-hg2 id -r 2 -i --debug)
173 > deadbeef102a90ea7b4a3361e4082ed620918c26 deadbeef102a90ea7b4a3361e4082ed620918c27
174 > EOF
175 $ hg convert --splicemap splicemap ordered ordered-hg2
176 scanning source...
177 splice map revision deadbeef102a90ea7b4a3361e4082ed620918c26 is not being converted, ignoring
178 sorting...
179 converting...
180 0 changeaagain
181 spliced in ['717d54d67e6c31fd75ffef2ff3042bdd98418437', '102a90ea7b4a3361e4082ed620918c261189a36a'] as parents of 7c364e7fa7d70ae525610c016317ed717b519d97
182 $ glog -R ordered-hg2
183 o 3:4cb04b9afbf2 "changeaagain" files: a
184 |\
185 | o 2:102a90ea7b4a "addb" files: b
186 | |
187 o | 1:717d54d67e6c "changea" files: a
188 |/
189 o 0:07f494440405 "adda" files: a
190
191
192 Test empty conversion
193
194 $ hg convert --splicemap splicemap ordered ordered-hg2
195 scanning source...
196 splice map revision deadbeef102a90ea7b4a3361e4082ed620918c26 is not being converted, ignoring
197 sorting...
198 converting...
199
200 Test clonebranches
201
202 $ hg --config convert.hg.clonebranches=true convert \
203 > --splicemap splicemap ordered ordered-hg3
204 initializing destination ordered-hg3 repository
205 scanning source...
206 abort: revision 717d54d67e6c31fd75ffef2ff3042bdd98418437 not be found in destination repository (lookups with clonebranches=true are not implemented)
207 [255]
208
209 Test invalid dependency
210
211 $ cat > splicemap <<EOF
212 > $(hg -R ordered id -r 2 -i --debug) \
213 > deadbeef102a90ea7b4a3361e4082ed620918c26,\
214 > $(hg -R ordered-hg2 id -r 2 -i --debug)
215 > EOF
216 $ hg convert --splicemap splicemap ordered ordered-hg4
217 initializing destination ordered-hg4 repository
218 scanning source...
219 abort: unknown splice map parent: deadbeef102a90ea7b4a3361e4082ed620918c26
220 [255]
@@ -293,7 +293,6 b''
293 pulling from ../a
293 pulling from ../a
294 searching for changes
294 searching for changes
295 no changes found
295 no changes found
296 [1]
297 $ touch bogusfile
296 $ touch bogusfile
298
297
299 should fail
298 should fail
@@ -196,7 +196,6 b' listkeys hook'
196 listkeys hook: HG_NAMESPACE=phases HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
196 listkeys hook: HG_NAMESPACE=phases HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
197 listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
197 listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
198 importing bookmark bar
198 importing bookmark bar
199 [1]
200 $ cd ../a
199 $ cd ../a
201
200
202 test that prepushkey can prevent incoming keys
201 test that prepushkey can prevent incoming keys
@@ -160,7 +160,6 b' cacert configured in local repo'
160 pulling from https://localhost:$HGPORT/
160 pulling from https://localhost:$HGPORT/
161 searching for changes
161 searching for changes
162 no changes found
162 no changes found
163 [1]
164 $ mv copy-pull/.hg/hgrc.bu copy-pull/.hg/hgrc
163 $ mv copy-pull/.hg/hgrc.bu copy-pull/.hg/hgrc
165
164
166 cacert configured globally, also testing expansion of environment
165 cacert configured globally, also testing expansion of environment
@@ -172,13 +171,11 b' variables in the filename'
172 pulling from https://localhost:$HGPORT/
171 pulling from https://localhost:$HGPORT/
173 searching for changes
172 searching for changes
174 no changes found
173 no changes found
175 [1]
176 $ P=`pwd` hg -R copy-pull pull --insecure
174 $ P=`pwd` hg -R copy-pull pull --insecure
177 warning: localhost certificate with fingerprint 91:4f:1a:ff:87:24:9c:09:b6:85:9b:88:b1:90:6d:30:75:64:91:ca not verified (check hostfingerprints or web.cacerts config setting)
175 warning: localhost certificate with fingerprint 91:4f:1a:ff:87:24:9c:09:b6:85:9b:88:b1:90:6d:30:75:64:91:ca not verified (check hostfingerprints or web.cacerts config setting)
178 pulling from https://localhost:$HGPORT/
176 pulling from https://localhost:$HGPORT/
179 searching for changes
177 searching for changes
180 no changes found
178 no changes found
181 [1]
182
179
183 cacert mismatch
180 cacert mismatch
184
181
@@ -191,7 +188,6 b' cacert mismatch'
191 pulling from https://127.0.0.1:$HGPORT/
188 pulling from https://127.0.0.1:$HGPORT/
192 searching for changes
189 searching for changes
193 no changes found
190 no changes found
194 [1]
195 $ hg -R copy-pull pull --config web.cacerts=pub-other.pem
191 $ hg -R copy-pull pull --config web.cacerts=pub-other.pem
196 abort: error: *:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (glob)
192 abort: error: *:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (glob)
197 [255]
193 [255]
@@ -200,7 +196,6 b' cacert mismatch'
200 pulling from https://localhost:$HGPORT/
196 pulling from https://localhost:$HGPORT/
201 searching for changes
197 searching for changes
202 no changes found
198 no changes found
203 [1]
204
199
205 Test server cert which isn't valid yet
200 Test server cert which isn't valid yet
206
201
@@ -260,7 +255,6 b' Test unvalidated https through proxy'
260 pulling from https://localhost:$HGPORT/
255 pulling from https://localhost:$HGPORT/
261 searching for changes
256 searching for changes
262 no changes found
257 no changes found
263 [1]
264
258
265 Test https with cacert and fingerprint through proxy
259 Test https with cacert and fingerprint through proxy
266
260
@@ -268,12 +262,10 b' Test https with cacert and fingerprint t'
268 pulling from https://localhost:$HGPORT/
262 pulling from https://localhost:$HGPORT/
269 searching for changes
263 searching for changes
270 no changes found
264 no changes found
271 [1]
272 $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull https://127.0.0.1:$HGPORT/
265 $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull https://127.0.0.1:$HGPORT/
273 pulling from https://127.0.0.1:$HGPORT/
266 pulling from https://127.0.0.1:$HGPORT/
274 searching for changes
267 searching for changes
275 no changes found
268 no changes found
276 [1]
277
269
278 Test https with cert problems through proxy
270 Test https with cert problems through proxy
279
271
@@ -34,7 +34,6 b' valid patches before fail added to serie'
34 b.patch
34 b.patch
35
35
36 $ hg pull -q -r 0 . # update phase
36 $ hg pull -q -r 0 . # update phase
37 [1]
38 $ hg qimport -r 0
37 $ hg qimport -r 0
39 abort: revision 0 is not mutable
38 abort: revision 0 is not mutable
40 (see "hg help phases" for details)
39 (see "hg help phases" for details)
@@ -102,7 +102,6 b' test python hook'
102 rollback completed
102 rollback completed
103 abort: pretxnchangegroup hook failed
103 abort: pretxnchangegroup hook failed
104 pull 0000000000000000000000000000000000000000
104 pull 0000000000000000000000000000000000000000
105 [1]
106
105
107 test external hook
106 test external hook
108
107
@@ -118,4 +117,3 b' test external hook'
118 rollback completed
117 rollback completed
119 abort: pretxnchangegroup hook exited with status 1
118 abort: pretxnchangegroup hook exited with status 1
120 pull 0000000000000000000000000000000000000000
119 pull 0000000000000000000000000000000000000000
121 [1]
@@ -136,7 +136,6 b' update must update phase of common chang'
136 pulling from ../alpha
136 pulling from ../alpha
137 searching for changes
137 searching for changes
138 no changes found
138 no changes found
139 [1]
140 $ hgph
139 $ hgph
141 o 4 public a-D - b555f63b6063
140 o 4 public a-D - b555f63b6063
142 |
141 |
@@ -344,7 +343,6 b' pulling back into original repo'
344 pulling from ../alpha
343 pulling from ../alpha
345 searching for changes
344 searching for changes
346 no changes found
345 no changes found
347 [1]
348 $ hgph
346 $ hgph
349 @ 6 public n-B - 145e75495359
347 @ 6 public n-B - 145e75495359
350 |
348 |
@@ -777,7 +775,6 b' Discovery locally secret changeset on a '
777 pulling from ../mu
775 pulling from ../mu
778 searching for changes
776 searching for changes
779 no changes found
777 no changes found
780 [1]
781 $ hgph
778 $ hgph
782 @ 11 draft A-secret - 435b5d83910c
779 @ 11 draft A-secret - 435b5d83910c
783 |
780 |
@@ -930,7 +927,6 b' same over the wire'
930 pulling from http://localhost:$HGPORT/
927 pulling from http://localhost:$HGPORT/
931 searching for changes
928 searching for changes
932 no changes found
929 no changes found
933 [1]
934 $ hg phase f54f1bb90ff3
930 $ hg phase f54f1bb90ff3
935 2: draft
931 2: draft
936
932
@@ -100,5 +100,4 b' Pull multiple revisions with update:'
100 This used to abort: received changelog group is empty:
100 This used to abort: received changelog group is empty:
101
101
102 $ hg pull -qr 1 ../repo
102 $ hg pull -qr 1 ../repo
103 [1]
104
103
@@ -48,7 +48,6 b''
48 pulling from http://foo@localhost:$HGPORT/
48 pulling from http://foo@localhost:$HGPORT/
49 searching for changes
49 searching for changes
50 no changes found
50 no changes found
51 [1]
52
51
53 $ hg rollback --dry-run --verbose
52 $ hg rollback --dry-run --verbose
54 repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
53 repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
@@ -78,7 +77,6 b" Test 'file:' uri handling:"
78 [255]
77 [255]
79
78
80 $ hg pull -q file:../test
79 $ hg pull -q file:../test
81 [1]
82
80
83 It's tricky to make file:// URLs working on every platform with
81 It's tricky to make file:// URLs working on every platform with
84 regular shell commands.
82 regular shell commands.
@@ -90,4 +88,3 b' regular shell commands.'
90
88
91 $ URL=`python -c "import os; print 'file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
89 $ URL=`python -c "import os; print 'file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
92 $ hg pull -q "$URL"
90 $ hg pull -q "$URL"
93 [1]
@@ -80,7 +80,6 b' empty default pull'
80 pulling from ssh://user@dummy/remote
80 pulling from ssh://user@dummy/remote
81 searching for changes
81 searching for changes
82 no changes found
82 no changes found
83 [1]
84
83
85 local change
84 local change
86
85
@@ -199,7 +198,6 b' test pushkeys and bookmarks'
199 no changes found
198 no changes found
200 updating bookmark foo
199 updating bookmark foo
201 importing bookmark foo
200 importing bookmark foo
202 [1]
203 $ hg book -d foo
201 $ hg book -d foo
204 $ hg push -B foo
202 $ hg push -B foo
205 pushing to ssh://user@dummy/remote
203 pushing to ssh://user@dummy/remote
@@ -569,7 +569,6 b' Issue1977: multirepo push should fail if'
569 cloning subrepo s from $TESTTMP/sub/repo/s (glob)
569 cloning subrepo s from $TESTTMP/sub/repo/s (glob)
570 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
570 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
571 $ hg -q -R repo2 pull -u
571 $ hg -q -R repo2 pull -u
572 [1]
573 $ echo 1 > repo2/s/a
572 $ echo 1 > repo2/s/a
574 $ hg -R repo2/s ci -m2
573 $ hg -R repo2/s ci -m2
575 $ hg -q -R repo2/s push
574 $ hg -q -R repo2/s push
@@ -627,7 +626,6 b" Pull -u now doesn't help"
627 pulling from issue1852a
626 pulling from issue1852a
628 searching for changes
627 searching for changes
629 no changes found
628 no changes found
630 [1]
631
629
632 Try the same, but with pull -u
630 Try the same, but with pull -u
633
631
@@ -48,7 +48,6 b' Both are empty:'
48 $ hg pull -R empty1 $remote
48 $ hg pull -R empty1 $remote
49 pulling from http://localhost:$HGPORT/
49 pulling from http://localhost:$HGPORT/
50 no changes found
50 no changes found
51 [1]
52 $ hg push -R empty1 $remote
51 $ hg push -R empty1 $remote
53 pushing to http://localhost:$HGPORT/
52 pushing to http://localhost:$HGPORT/
54 no changes found
53 no changes found
@@ -108,7 +107,6 b' Full clone:'
108 pulling from http://localhost:$HGPORT/
107 pulling from http://localhost:$HGPORT/
109 searching for changes
108 searching for changes
110 no changes found
109 no changes found
111 [1]
112 $ hg push $remote
110 $ hg push $remote
113 pushing to http://localhost:$HGPORT/
111 pushing to http://localhost:$HGPORT/
114 searching for changes
112 searching for changes
@@ -233,7 +231,6 b' Remote is empty:'
233 pulling from http://localhost:$HGPORT/
231 pulling from http://localhost:$HGPORT/
234 searching for changes
232 searching for changes
235 no changes found
233 no changes found
236 [1]
237 $ hg push $remote
234 $ hg push $remote
238 pushing to http://localhost:$HGPORT/
235 pushing to http://localhost:$HGPORT/
239 searching for changes
236 searching for changes
@@ -278,7 +275,6 b' Local is superset:'
278 pulling from http://localhost:$HGPORT/
275 pulling from http://localhost:$HGPORT/
279 searching for changes
276 searching for changes
280 no changes found
277 no changes found
281 [1]
282 $ hg push $remote
278 $ hg push $remote
283 pushing to http://localhost:$HGPORT/
279 pushing to http://localhost:$HGPORT/
284 searching for changes
280 searching for changes
@@ -42,7 +42,6 b' Both are empty:'
42 $ hg pull -R empty1 $remote
42 $ hg pull -R empty1 $remote
43 pulling from http://localhost:$HGPORT/
43 pulling from http://localhost:$HGPORT/
44 no changes found
44 no changes found
45 [1]
46 $ hg push -R empty1 $remote
45 $ hg push -R empty1 $remote
47 pushing to http://localhost:$HGPORT/
46 pushing to http://localhost:$HGPORT/
48 no changes found
47 no changes found
@@ -102,7 +101,6 b' Full clone:'
102 pulling from http://localhost:$HGPORT/
101 pulling from http://localhost:$HGPORT/
103 searching for changes
102 searching for changes
104 no changes found
103 no changes found
105 [1]
106 $ hg push $remote
104 $ hg push $remote
107 pushing to http://localhost:$HGPORT/
105 pushing to http://localhost:$HGPORT/
108 searching for changes
106 searching for changes
@@ -221,7 +219,6 b' Remote is empty:'
221 pulling from http://localhost:$HGPORT/
219 pulling from http://localhost:$HGPORT/
222 searching for changes
220 searching for changes
223 no changes found
221 no changes found
224 [1]
225 $ hg push $remote
222 $ hg push $remote
226 pushing to http://localhost:$HGPORT/
223 pushing to http://localhost:$HGPORT/
227 searching for changes
224 searching for changes
@@ -266,7 +263,6 b' Local is superset:'
266 pulling from http://localhost:$HGPORT/
263 pulling from http://localhost:$HGPORT/
267 searching for changes
264 searching for changes
268 no changes found
265 no changes found
269 [1]
270 $ hg push $remote
266 $ hg push $remote
271 pushing to http://localhost:$HGPORT/
267 pushing to http://localhost:$HGPORT/
272 searching for changes
268 searching for changes
@@ -141,7 +141,6 b' Going back to the default branch:'
141 No new revs, no update:
141 No new revs, no update:
142
142
143 $ hg pull -qu
143 $ hg pull -qu
144 [1]
145
144
146 $ hg parents -q
145 $ hg parents -q
147 0:1f0dee641bb7
146 0:1f0dee641bb7
General Comments 0
You need to be logged in to leave comments. Login now