##// END OF EJS Templates
discovery: drop findoutgoing and simplify findcommonincoming's api...
Peter Arrenbrecht -
r14073:72c84f24 default
parent child Browse files
Show More
@@ -238,15 +238,14 b' def patchbomb(ui, repo, *revs, **opts):'
238 dest = ui.expandpath(dest or 'default-push', dest or 'default')
238 dest = ui.expandpath(dest or 'default-push', dest or 'default')
239 dest, branches = hg.parseurl(dest)
239 dest, branches = hg.parseurl(dest)
240 revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
240 revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
241 if revs:
242 revs = [repo.lookup(rev) for rev in revs]
243 other = hg.repository(hg.remoteui(repo, opts), dest)
241 other = hg.repository(hg.remoteui(repo, opts), dest)
244 ui.status(_('comparing with %s\n') % url.hidepassword(dest))
242 ui.status(_('comparing with %s\n') % url.hidepassword(dest))
245 o = discovery.findoutgoing(repo, other)
243 common, _anyinc, _heads = discovery.findcommonincoming(repo, other)
244 nodes = revs and map(repo.lookup, revs) or revs
245 o = repo.changelog.findmissing(common, heads=nodes)
246 if not o:
246 if not o:
247 ui.status(_("no changes found\n"))
247 ui.status(_("no changes found\n"))
248 return []
248 return []
249 o = repo.changelog.nodesbetween(o, revs)[0]
250 return [str(repo.changelog.rev(r)) for r in o]
249 return [str(repo.changelog.rev(r)) for r in o]
251
250
252 def getpatches(revs):
251 def getpatches(revs):
@@ -494,10 +494,10 b' def transplant(ui, repo, *revs, **opts):'
494 and then resume where you left off by calling :hg:`transplant
494 and then resume where you left off by calling :hg:`transplant
495 --continue/-c`.
495 --continue/-c`.
496 '''
496 '''
497 def incwalk(repo, incoming, branches, match=util.always):
497 def incwalk(repo, commmon, branches, match=util.always):
498 if not branches:
498 if not branches:
499 branches = None
499 branches = None
500 for node in repo.changelog.nodesbetween(incoming, branches)[0]:
500 for node in repo.changelog.findmissing(common, branches):
501 if match(node):
501 if match(node):
502 yield node
502 yield node
503
503
@@ -552,8 +552,8 b' def transplant(ui, repo, *revs, **opts):'
552 if source:
552 if source:
553 sourcerepo = ui.expandpath(source)
553 sourcerepo = ui.expandpath(source)
554 source = hg.repository(ui, sourcerepo)
554 source = hg.repository(ui, sourcerepo)
555 source, common, incoming, bundle = bundlerepo.getremotechanges(ui, repo,
555 source, common, anyinc, bundle = bundlerepo.getremotechanges(ui, repo,
556 source, force=True)
556 source, force=True)
557 else:
557 else:
558 source = repo
558 source = repo
559
559
@@ -577,7 +577,7 b' def transplant(ui, repo, *revs, **opts):'
577 revmap[int(r)] = source.lookup(r)
577 revmap[int(r)] = source.lookup(r)
578 elif opts.get('all') or not merges:
578 elif opts.get('all') or not merges:
579 if source != repo:
579 if source != repo:
580 alltransplants = incwalk(source, incoming, branches,
580 alltransplants = incwalk(source, common, branches,
581 match=matchfn)
581 match=matchfn)
582 else:
582 else:
583 alltransplants = transplantwalk(source, p1, branches,
583 alltransplants = transplantwalk(source, p1, branches,
@@ -287,9 +287,8 b' def instance(ui, path, create):'
287 return bundlerepository(ui, repopath, bundlename)
287 return bundlerepository(ui, repopath, bundlename)
288
288
289 def getremotechanges(ui, repo, other, revs=None, bundlename=None,
289 def getremotechanges(ui, repo, other, revs=None, bundlename=None,
290 force=False, usecommon=False):
290 force=False):
291 tmp = discovery.findcommonincoming(repo, other, heads=revs, force=force,
291 tmp = discovery.findcommonincoming(repo, other, heads=revs, force=force)
292 commononly=usecommon)
293 common, incoming, rheads = tmp
292 common, incoming, rheads = tmp
294 if not incoming:
293 if not incoming:
295 try:
294 try:
@@ -305,7 +304,7 b' def getremotechanges(ui, repo, other, re'
305 if revs is None and other.capable('changegroupsubset'):
304 if revs is None and other.capable('changegroupsubset'):
306 revs = rheads
305 revs = rheads
307
306
308 if usecommon:
307 if other.capable('getbundle'):
309 cg = other.getbundle('incoming', common=common, heads=revs)
308 cg = other.getbundle('incoming', common=common, heads=revs)
310 elif revs is None:
309 elif revs is None:
311 cg = other.changegroup(incoming, "incoming")
310 cg = other.changegroup(incoming, "incoming")
@@ -696,49 +696,21 b' def bundle(ui, repo, fname, dest=None, *'
696 if dest:
696 if dest:
697 raise util.Abort(_("--base is incompatible with specifying "
697 raise util.Abort(_("--base is incompatible with specifying "
698 "a destination"))
698 "a destination"))
699 base = [repo.lookup(rev) for rev in base]
699 common = [repo.lookup(rev) for rev in base]
700 # create the right base
701 # XXX: nodesbetween / changegroup* should be "fixed" instead
702 o = []
703 has = set((nullid,))
704 for n in base:
705 has.update(repo.changelog.reachable(n))
706 if revs:
707 revs = [repo.lookup(rev) for rev in revs]
708 visit = revs[:]
709 has.difference_update(visit)
710 else:
711 visit = repo.changelog.heads()
712 seen = {}
713 while visit:
714 n = visit.pop(0)
715 parents = [p for p in repo.changelog.parents(n) if p not in has]
716 if len(parents) == 0:
717 if n not in has:
718 o.append(n)
719 else:
720 for p in parents:
721 if p not in seen:
722 seen[p] = 1
723 visit.append(p)
724 else:
700 else:
725 dest = ui.expandpath(dest or 'default-push', dest or 'default')
701 dest = ui.expandpath(dest or 'default-push', dest or 'default')
726 dest, branches = hg.parseurl(dest, opts.get('branch'))
702 dest, branches = hg.parseurl(dest, opts.get('branch'))
727 other = hg.repository(hg.remoteui(repo, opts), dest)
703 other = hg.repository(hg.remoteui(repo, opts), dest)
728 revs, checkout = hg.addbranchrevs(repo, other, branches, revs)
704 revs, checkout = hg.addbranchrevs(repo, other, branches, revs)
729 if revs:
705 inc = discovery.findcommonincoming(repo, other, force=opts.get('force'))
730 revs = [repo.lookup(rev) for rev in revs]
706 common, _anyinc, _heads = inc
731 o = discovery.findoutgoing(repo, other, force=opts.get('force'))
707
732
708 nodes = revs and map(repo.lookup, revs) or revs
733 if not o:
709 cg = repo.getbundle('bundle', common=common, heads=nodes)
710 if not cg:
734 ui.status(_("no changes found\n"))
711 ui.status(_("no changes found\n"))
735 return 1
712 return 1
736
713
737 if revs:
738 cg = repo.changegroupsubset(o, revs, 'bundle')
739 else:
740 cg = repo.changegroup(o, 'bundle')
741
742 bundletype = opts.get('type', 'bzip2').lower()
714 bundletype = opts.get('type', 'bzip2').lower()
743 btypes = {'none': 'HG10UN', 'bzip2': 'HG10BZ', 'gzip': 'HG10GZ'}
715 btypes = {'none': 'HG10UN', 'bzip2': 'HG10BZ', 'gzip': 'HG10GZ'}
744 bundletype = btypes.get(bundletype)
716 bundletype = btypes.get(bundletype)
@@ -3959,9 +3931,9 b' def summary(ui, repo, **opts):'
3959 other = hg.repository(hg.remoteui(repo, {}), dest)
3931 other = hg.repository(hg.remoteui(repo, {}), dest)
3960 ui.debug('comparing with %s\n' % url.hidepassword(dest))
3932 ui.debug('comparing with %s\n' % url.hidepassword(dest))
3961 repo.ui.pushbuffer()
3933 repo.ui.pushbuffer()
3962 o = discovery.findoutgoing(repo, other)
3934 common, _anyinc, _heads = discovery.findcommonincoming(repo, other)
3963 repo.ui.popbuffer()
3935 repo.ui.popbuffer()
3964 o = repo.changelog.nodesbetween(o, None)[0]
3936 o = repo.changelog.findmissing(common=common)
3965 if o:
3937 if o:
3966 t.append(_('%d outgoing') % len(o))
3938 t.append(_('%d outgoing') % len(o))
3967 if 'bookmarks' in other.listkeys('namespaces'):
3939 if 'bookmarks' in other.listkeys('namespaces'):
@@ -9,14 +9,19 b' from node import nullid, short'
9 from i18n import _
9 from i18n import _
10 import util, error
10 import util, error
11
11
12 def findcommonincoming(repo, remote, heads=None, force=False, commononly=False):
12 def findcommonincoming(repo, remote, heads=None, force=False):
13 """Return a tuple (common, missing, heads) used to identify missing nodes
13 """Return a tuple (common, anyincoming, heads) used to identify the common
14 from remote. "missing" is either a boolean indicating if any nodes are missing
14 subset of nodes between repo and remote.
15 (when commononly=True), or else a list of the root nodes of the missing set.
16
15
17 If a list of heads is specified, return only nodes which are heads
16 "common" is a list of (at least) the heads of the common subset.
18 or ancestors of these heads.
17 "anyincoming" is testable as a boolean indicating if any nodes are missing
18 locally. If remote does not support getbundle, this actually is a list of
19 roots of the nodes that would be incoming, to be supplied to
20 changegroupsubset. No code except for pull should be relying on this fact
21 any longer.
22 "heads" is either the supplied heads, or else the remote's heads.
19 """
23 """
24
20 m = repo.changelog.nodemap
25 m = repo.changelog.nodemap
21 search = []
26 search = []
22 fetch = set()
27 fetch = set()
@@ -37,7 +42,7 b' def findcommonincoming(repo, remote, hea'
37 # and start by examining the heads
42 # and start by examining the heads
38 repo.ui.status(_("searching for changes\n"))
43 repo.ui.status(_("searching for changes\n"))
39
44
40 if commononly:
45 if remote.capable('getbundle'):
41 myheads = repo.heads()
46 myheads = repo.heads()
42 known = remote.known(myheads)
47 known = remote.known(myheads)
43 if util.all(known):
48 if util.all(known):
@@ -155,45 +160,6 b' def findcommonincoming(repo, remote, hea'
155
160
156 return base, list(fetch), heads
161 return base, list(fetch), heads
157
162
158 def findoutgoing(repo, remote, base=None, remoteheads=None, force=False):
159 """Return list of nodes that are roots of subsets not in remote
160
161 If base dict is specified, assume that these nodes and their parents
162 exist on the remote side.
163 If remotehead is specified, assume it is the list of the heads from
164 the remote repository.
165 """
166 if base is None:
167 base = findcommonincoming(repo, remote, heads=remoteheads,
168 force=force)[0]
169 else:
170 base = list(base)
171
172 repo.ui.debug("common changesets up to "
173 + " ".join(map(short, base)) + "\n")
174
175 remain = set(repo.changelog.nodemap)
176
177 # prune everything remote has from the tree
178 remain.remove(nullid)
179 remove = base
180 while remove:
181 n = remove.pop(0)
182 if n in remain:
183 remain.remove(n)
184 for p in repo.changelog.parents(n):
185 remove.append(p)
186
187 # find every node whose parents have been pruned
188 subset = []
189 # find every remote head that will get new children
190 for n in remain:
191 p1, p2 = repo.changelog.parents(n)
192 if p1 not in remain and p2 not in remain:
193 subset.append(n)
194
195 return subset
196
197 def prepush(repo, remote, force, revs, newbranch):
163 def prepush(repo, remote, force, revs, newbranch):
198 '''Analyze the local and remote repositories and determine which
164 '''Analyze the local and remote repositories and determine which
199 changesets need to be pushed to the remote. Return value depends
165 changesets need to be pushed to the remote. Return value depends
@@ -209,14 +175,13 b' def prepush(repo, remote, force, revs, n'
209 successive changegroup chunks ready to be sent over the wire and
175 successive changegroup chunks ready to be sent over the wire and
210 remoteheads is the list of remote heads.'''
176 remoteheads is the list of remote heads.'''
211 remoteheads = remote.heads()
177 remoteheads = remote.heads()
212 common, inc, rheads = findcommonincoming(repo, remote, heads=remoteheads,
178 common, inc, _rheads = findcommonincoming(repo, remote, heads=remoteheads,
213 force=force)
179 force=force)
214
180
215 cl = repo.changelog
181 cl = repo.changelog
216 update = findoutgoing(repo, remote, common, remoteheads)
182 outg = cl.findmissing(common, revs)
217 outg, bases, heads = cl.nodesbetween(update, revs)
218
183
219 if not bases:
184 if not outg:
220 repo.ui.status(_("no changes found\n"))
185 repo.ui.status(_("no changes found\n"))
221 return None, 1
186 return None, 1
222
187
@@ -317,8 +282,7 b' def prepush(repo, remote, force, revs, n'
317
282
318 if revs is None:
283 if revs is None:
319 # use the fast path, no race possible on push
284 # use the fast path, no race possible on push
320 nodes = repo.changelog.findmissing(common)
285 cg = repo._changegroup(outg, 'push')
321 cg = repo._changegroup(nodes, 'push')
322 else:
286 else:
323 cg = repo.changegroupsubset(update, revs, 'push')
287 cg = repo.getbundle('push', heads=revs, common=common)
324 return cg, remoteheads
288 return cg, remoteheads
@@ -426,19 +426,14 b' def _incoming(displaychlist, subreporecu'
426
426
427 if revs:
427 if revs:
428 revs = [other.lookup(rev) for rev in revs]
428 revs = [other.lookup(rev) for rev in revs]
429 usecommon = other.capable('getbundle')
429 other, common, anyinc, bundle = bundlerepo.getremotechanges(ui, repo, other,
430 other, common, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other,
430 revs, opts["bundle"], opts["force"])
431 revs, opts["bundle"], opts["force"],
431 if not anyinc:
432 usecommon=usecommon)
433 if not incoming:
434 ui.status(_("no changes found\n"))
432 ui.status(_("no changes found\n"))
435 return subreporecurse()
433 return subreporecurse()
436
434
437 try:
435 try:
438 if usecommon:
436 chlist = other.changelog.findmissing(common, revs)
439 chlist = other.changelog.findmissing(common, revs)
440 else:
441 chlist = other.changelog.nodesbetween(incoming, revs)[0]
442 displayer = cmdutil.show_changeset(ui, other, opts, buffered)
437 displayer = cmdutil.show_changeset(ui, other, opts, buffered)
443
438
444 # XXX once graphlog extension makes it into core,
439 # XXX once graphlog extension makes it into core,
@@ -488,12 +483,13 b' def _outgoing(ui, repo, dest, opts):'
488 revs = [repo.lookup(rev) for rev in revs]
483 revs = [repo.lookup(rev) for rev in revs]
489
484
490 other = repository(remoteui(repo, opts), dest)
485 other = repository(remoteui(repo, opts), dest)
491 o = discovery.findoutgoing(repo, other, force=opts.get('force'))
486 inc = discovery.findcommonincoming(repo, other, force=opts.get('force'))
487 common, _anyinc, _heads = inc
488 o = repo.changelog.findmissing(common, revs)
492 if not o:
489 if not o:
493 ui.status(_("no changes found\n"))
490 ui.status(_("no changes found\n"))
494 return None
491 return None
495
492 return o
496 return repo.changelog.nodesbetween(o, revs)[0]
497
493
498 def outgoing(ui, repo, dest, opts):
494 def outgoing(ui, repo, dest, opts):
499 def recurse():
495 def recurse():
@@ -1327,9 +1327,8 b' class localrepository(repo.repository):'
1327 def pull(self, remote, heads=None, force=False):
1327 def pull(self, remote, heads=None, force=False):
1328 lock = self.lock()
1328 lock = self.lock()
1329 try:
1329 try:
1330 usecommon = remote.capable('getbundle')
1331 tmp = discovery.findcommonincoming(self, remote, heads=heads,
1330 tmp = discovery.findcommonincoming(self, remote, heads=heads,
1332 force=force, commononly=usecommon)
1331 force=force)
1333 common, fetch, rheads = tmp
1332 common, fetch, rheads = tmp
1334 if not fetch:
1333 if not fetch:
1335 self.ui.status(_("no changes found\n"))
1334 self.ui.status(_("no changes found\n"))
@@ -1341,7 +1340,7 b' class localrepository(repo.repository):'
1341 # issue1320, avoid a race if remote changed after discovery
1340 # issue1320, avoid a race if remote changed after discovery
1342 heads = rheads
1341 heads = rheads
1343
1342
1344 if usecommon:
1343 if remote.capable('getbundle'):
1345 cg = remote.getbundle('pull', common=common,
1344 cg = remote.getbundle('pull', common=common,
1346 heads=heads or rheads)
1345 heads=heads or rheads)
1347 elif heads is None:
1346 elif heads is None:
@@ -1475,6 +1474,8 b' class localrepository(repo.repository):'
1475 if not heads:
1474 if not heads:
1476 heads = cl.heads()
1475 heads = cl.heads()
1477 common, missing = cl.findcommonmissing(common, heads)
1476 common, missing = cl.findcommonmissing(common, heads)
1477 if not missing:
1478 return None
1478 return self._changegroupsubset(common, missing, heads, source)
1479 return self._changegroupsubset(common, missing, heads, source)
1479
1480
1480 def _changegroupsubset(self, commonrevs, csets, heads, source):
1481 def _changegroupsubset(self, commonrevs, csets, heads, source):
@@ -554,10 +554,10 b' def outgoing(repo, subset, x):'
554 revs = [repo.lookup(rev) for rev in revs]
554 revs = [repo.lookup(rev) for rev in revs]
555 other = hg.repository(hg.remoteui(repo, {}), dest)
555 other = hg.repository(hg.remoteui(repo, {}), dest)
556 repo.ui.pushbuffer()
556 repo.ui.pushbuffer()
557 o = discovery.findoutgoing(repo, other)
557 common, _anyinc, _heads = discovery.findcommonincoming(repo, other)
558 repo.ui.popbuffer()
558 repo.ui.popbuffer()
559 cl = repo.changelog
559 cl = repo.changelog
560 o = set([cl.rev(r) for r in repo.changelog.nodesbetween(o, revs)[0]])
560 o = set([cl.rev(r) for r in repo.changelog.findmissing(common, revs)])
561 return [r for r in subset if r in o]
561 return [r for r in subset if r in o]
562
562
563 def p1(repo, subset, x):
563 def p1(repo, subset, x):
@@ -83,7 +83,6 b' Extension disabled for lack of a hook'
83 """
83 """
84 pushing to ../b
84 pushing to ../b
85 searching for changes
85 searching for changes
86 common changesets up to 6675d58eff77
87 3 changesets found
86 3 changesets found
88 list of changesets:
87 list of changesets:
89 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
88 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -137,7 +136,6 b' Extension disabled for lack of acl.sourc'
137 """
136 """
138 pushing to ../b
137 pushing to ../b
139 searching for changes
138 searching for changes
140 common changesets up to 6675d58eff77
141 invalidating branch cache (tip differs)
139 invalidating branch cache (tip differs)
142 3 changesets found
140 3 changesets found
143 list of changesets:
141 list of changesets:
@@ -195,7 +193,6 b' No [acl.allow]/[acl.deny]'
195 """
193 """
196 pushing to ../b
194 pushing to ../b
197 searching for changes
195 searching for changes
198 common changesets up to 6675d58eff77
199 invalidating branch cache (tip differs)
196 invalidating branch cache (tip differs)
200 3 changesets found
197 3 changesets found
201 list of changesets:
198 list of changesets:
@@ -262,7 +259,6 b' Empty [acl.allow]'
262 """
259 """
263 pushing to ../b
260 pushing to ../b
264 searching for changes
261 searching for changes
265 common changesets up to 6675d58eff77
266 invalidating branch cache (tip differs)
262 invalidating branch cache (tip differs)
267 3 changesets found
263 3 changesets found
268 list of changesets:
264 list of changesets:
@@ -327,7 +323,6 b' fred is allowed inside foo/'
327 """
323 """
328 pushing to ../b
324 pushing to ../b
329 searching for changes
325 searching for changes
330 common changesets up to 6675d58eff77
331 3 changesets found
326 3 changesets found
332 list of changesets:
327 list of changesets:
333 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
328 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -396,7 +391,6 b' Empty [acl.deny]'
396 """
391 """
397 pushing to ../b
392 pushing to ../b
398 searching for changes
393 searching for changes
399 common changesets up to 6675d58eff77
400 3 changesets found
394 3 changesets found
401 list of changesets:
395 list of changesets:
402 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
396 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -462,7 +456,6 b' fred is allowed inside foo/, but not foo'
462 """
456 """
463 pushing to ../b
457 pushing to ../b
464 searching for changes
458 searching for changes
465 common changesets up to 6675d58eff77
466 3 changesets found
459 3 changesets found
467 list of changesets:
460 list of changesets:
468 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
461 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -533,7 +526,6 b' fred is allowed inside foo/, but not foo'
533 """
526 """
534 pushing to ../b
527 pushing to ../b
535 searching for changes
528 searching for changes
536 common changesets up to 6675d58eff77
537 3 changesets found
529 3 changesets found
538 list of changesets:
530 list of changesets:
539 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
531 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -601,7 +593,6 b' fred is allowed inside foo/, but not foo'
601 """
593 """
602 pushing to ../b
594 pushing to ../b
603 searching for changes
595 searching for changes
604 common changesets up to 6675d58eff77
605 3 changesets found
596 3 changesets found
606 list of changesets:
597 list of changesets:
607 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
598 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -671,7 +662,6 b' barney is allowed everywhere'
671 """
662 """
672 pushing to ../b
663 pushing to ../b
673 searching for changes
664 searching for changes
674 common changesets up to 6675d58eff77
675 3 changesets found
665 3 changesets found
676 list of changesets:
666 list of changesets:
677 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
667 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -744,7 +734,6 b' wilma can change files with a .txt exten'
744 """
734 """
745 pushing to ../b
735 pushing to ../b
746 searching for changes
736 searching for changes
747 common changesets up to 6675d58eff77
748 invalidating branch cache (tip differs)
737 invalidating branch cache (tip differs)
749 3 changesets found
738 3 changesets found
750 list of changesets:
739 list of changesets:
@@ -822,7 +811,6 b' file specified by acl.config does not ex'
822 """
811 """
823 pushing to ../b
812 pushing to ../b
824 searching for changes
813 searching for changes
825 common changesets up to 6675d58eff77
826 3 changesets found
814 3 changesets found
827 list of changesets:
815 list of changesets:
828 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
816 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -893,7 +881,6 b' betty is allowed inside foo/ by a acl.co'
893 """
881 """
894 pushing to ../b
882 pushing to ../b
895 searching for changes
883 searching for changes
896 common changesets up to 6675d58eff77
897 3 changesets found
884 3 changesets found
898 list of changesets:
885 list of changesets:
899 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
886 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -976,7 +963,6 b' acl.config can set only [acl.allow]/[acl'
976 """
963 """
977 pushing to ../b
964 pushing to ../b
978 searching for changes
965 searching for changes
979 common changesets up to 6675d58eff77
980 3 changesets found
966 3 changesets found
981 list of changesets:
967 list of changesets:
982 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
968 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1050,7 +1036,6 b' fred is always allowed'
1050 """
1036 """
1051 pushing to ../b
1037 pushing to ../b
1052 searching for changes
1038 searching for changes
1053 common changesets up to 6675d58eff77
1054 invalidating branch cache (tip differs)
1039 invalidating branch cache (tip differs)
1055 3 changesets found
1040 3 changesets found
1056 list of changesets:
1041 list of changesets:
@@ -1121,7 +1106,6 b' no one is allowed inside foo/Bar/'
1121 """
1106 """
1122 pushing to ../b
1107 pushing to ../b
1123 searching for changes
1108 searching for changes
1124 common changesets up to 6675d58eff77
1125 invalidating branch cache (tip differs)
1109 invalidating branch cache (tip differs)
1126 3 changesets found
1110 3 changesets found
1127 list of changesets:
1111 list of changesets:
@@ -1195,7 +1179,6 b' OS-level groups'
1195 """
1179 """
1196 pushing to ../b
1180 pushing to ../b
1197 searching for changes
1181 searching for changes
1198 common changesets up to 6675d58eff77
1199 3 changesets found
1182 3 changesets found
1200 list of changesets:
1183 list of changesets:
1201 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1184 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1266,7 +1249,6 b' OS-level groups'
1266 """
1249 """
1267 pushing to ../b
1250 pushing to ../b
1268 searching for changes
1251 searching for changes
1269 common changesets up to 6675d58eff77
1270 invalidating branch cache (tip differs)
1252 invalidating branch cache (tip differs)
1271 3 changesets found
1253 3 changesets found
1272 list of changesets:
1254 list of changesets:
@@ -1378,7 +1360,6 b' No branch acls specified'
1378 """
1360 """
1379 pushing to ../b
1361 pushing to ../b
1380 searching for changes
1362 searching for changes
1381 common changesets up to 07e028174695
1382 4 changesets found
1363 4 changesets found
1383 list of changesets:
1364 list of changesets:
1384 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1365 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1456,7 +1437,6 b' Branch acl deny test'
1456 """
1437 """
1457 pushing to ../b
1438 pushing to ../b
1458 searching for changes
1439 searching for changes
1459 common changesets up to 07e028174695
1460 invalidating branch cache (tip differs)
1440 invalidating branch cache (tip differs)
1461 4 changesets found
1441 4 changesets found
1462 list of changesets:
1442 list of changesets:
@@ -1533,7 +1513,6 b' Branch acl empty allow test'
1533 """
1513 """
1534 pushing to ../b
1514 pushing to ../b
1535 searching for changes
1515 searching for changes
1536 common changesets up to 07e028174695
1537 4 changesets found
1516 4 changesets found
1538 list of changesets:
1517 list of changesets:
1539 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1518 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1605,7 +1584,6 b' Branch acl allow other'
1605 """
1584 """
1606 pushing to ../b
1585 pushing to ../b
1607 searching for changes
1586 searching for changes
1608 common changesets up to 07e028174695
1609 4 changesets found
1587 4 changesets found
1610 list of changesets:
1588 list of changesets:
1611 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1589 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1671,7 +1649,6 b' Branch acl allow other'
1671 """
1649 """
1672 pushing to ../b
1650 pushing to ../b
1673 searching for changes
1651 searching for changes
1674 common changesets up to 07e028174695
1675 4 changesets found
1652 4 changesets found
1676 list of changesets:
1653 list of changesets:
1677 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1654 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
@@ -1754,7 +1731,6 b' push foobar into the remote'
1754 """
1731 """
1755 pushing to ../b
1732 pushing to ../b
1756 searching for changes
1733 searching for changes
1757 common changesets up to 07e028174695
1758 invalidating branch cache (tip differs)
1734 invalidating branch cache (tip differs)
1759 4 changesets found
1735 4 changesets found
1760 list of changesets:
1736 list of changesets:
@@ -1837,7 +1813,6 b' Branch acl conflicting deny'
1837 """
1813 """
1838 pushing to ../b
1814 pushing to ../b
1839 searching for changes
1815 searching for changes
1840 common changesets up to 07e028174695
1841 invalidating branch cache (tip differs)
1816 invalidating branch cache (tip differs)
1842 4 changesets found
1817 4 changesets found
1843 list of changesets:
1818 list of changesets:
@@ -231,7 +231,8 b' empty bundle'
231 issue76 msg2163
231 issue76 msg2163
232
232
233 $ hg -R test bundle --base 3 -r 3 -r 3 test-bundle-cset-3.hg
233 $ hg -R test bundle --base 3 -r 3 -r 3 test-bundle-cset-3.hg
234 1 changesets found
234 no changes found
235 [1]
235
236
236 Issue1910: 'hg bundle --base $head' does not exclude $head from
237 Issue1910: 'hg bundle --base $head' does not exclude $head from
237 result
238 result
@@ -562,7 +562,6 b' bundle single branch'
562
562
563 $ hg bundle bundle.hg part --debug
563 $ hg bundle bundle.hg part --debug
564 searching for changes
564 searching for changes
565 common changesets up to c0025332f9ed
566 2 changesets found
565 2 changesets found
567 list of changesets:
566 list of changesets:
568 d2ae7f538514cd87c17547b0de4cea71fe1af9fb
567 d2ae7f538514cd87c17547b0de4cea71fe1af9fb
@@ -39,7 +39,6 b''
39 found new branch changeset 1c9246a22a0a
39 found new branch changeset 1c9246a22a0a
40 found new changesets starting at 1c9246a22a0a
40 found new changesets starting at 1c9246a22a0a
41 1 total queries
41 1 total queries
42 common changesets up to d8d565842d04
43 new remote heads on branch 'default'
42 new remote heads on branch 'default'
44 new remote head 1e108cc5548c
43 new remote head 1e108cc5548c
45 abort: push creates new remote heads on branch 'default'!
44 abort: push creates new remote heads on branch 'default'!
General Comments 0
You need to be logged in to leave comments. Login now