mercurial/commands.py
changeset 10365 d757bc0c7865
parent 10364 de1e7099d100
child 10369 98a0421b9e52
equal deleted inserted replaced
10364:de1e7099d100 10365:d757bc0c7865
   536                 for p in parents:
   536                 for p in parents:
   537                     if p not in seen:
   537                     if p not in seen:
   538                         seen[p] = 1
   538                         seen[p] = 1
   539                         visit.append(p)
   539                         visit.append(p)
   540     else:
   540     else:
   541         dest, revs, checkout = hg.parseurl(
   541         dest = ui.expandpath(dest or 'default-push', dest or 'default')
   542             ui.expandpath(dest or 'default-push', dest or 'default'), revs)
   542         dest, branches = hg.parseurl(dest)
   543         other = hg.repository(cmdutil.remoteui(repo, opts), dest)
   543         other = hg.repository(cmdutil.remoteui(repo, opts), dest)
       
   544         revs, checkout = hg.addbranchrevs(repo, other, branches, revs)
   544         o = repo.findoutgoing(other, force=opts.get('force'))
   545         o = repo.findoutgoing(other, force=opts.get('force'))
   545 
   546 
   546     if revs:
   547     if revs:
   547         cg = repo.changegroupsubset(o, revs, 'bundle')
   548         cg = repo.changegroupsubset(o, revs, 'bundle')
   548     else:
   549     else:
   605     will be the null changeset). Otherwise, clone will initially check
   606     will be the null changeset). Otherwise, clone will initially check
   606     out (in order of precedence):
   607     out (in order of precedence):
   607 
   608 
   608     a) the changeset, tag or branch specified with -u/--updaterev
   609     a) the changeset, tag or branch specified with -u/--updaterev
   609     b) the changeset, tag or branch given with the first -r/--rev
   610     b) the changeset, tag or branch given with the first -r/--rev
   610     c) the head of the default branch
   611     c) the branch given with the url#branch source syntax
       
   612     d) the head of the default branch
   611 
   613 
   612     Use 'hg clone -u . src dst' to checkout the source repository's
   614     Use 'hg clone -u . src dst' to checkout the source repository's
   613     parent changeset (applicable for local source repositories only).
   615     parent changeset (applicable for local source repositories only).
   614 
   616 
   615     A set of changesets (tags, or branch names) to pull may be specified
   617     A set of changesets (tags, or branch names) to pull may be specified
  1725     default = not (num or id or branch or tags)
  1727     default = not (num or id or branch or tags)
  1726     output = []
  1728     output = []
  1727 
  1729 
  1728     revs = []
  1730     revs = []
  1729     if source:
  1731     if source:
  1730         source, revs, checkout = hg.parseurl(ui.expandpath(source), [])
  1732         source, branches = hg.parseurl(ui.expandpath(source))
  1731         repo = hg.repository(ui, source)
  1733         repo = hg.repository(ui, source)
       
  1734         revs, checkout = hg.addbranchrevs(repo, repo, branches, None)
  1732 
  1735 
  1733     if not repo.local():
  1736     if not repo.local():
  1734         if not rev and revs:
  1737         if not rev and revs:
  1735             rev = revs[0]
  1738             rev = revs[0]
  1736         if not rev:
  1739         if not rev:
  1917     changesets twice if the incoming is followed by a pull.
  1920     changesets twice if the incoming is followed by a pull.
  1918 
  1921 
  1919     See pull for valid source format details.
  1922     See pull for valid source format details.
  1920     """
  1923     """
  1921     limit = cmdutil.loglimit(opts)
  1924     limit = cmdutil.loglimit(opts)
  1922     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  1925     source, branches = hg.parseurl(ui.expandpath(source))
  1923     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  1926     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  1924     ui.status(_('comparing with %s\n') % url.hidepassword(source))
  1927     ui.status(_('comparing with %s\n') % url.hidepassword(source))
       
  1928     revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
  1925     if revs:
  1929     if revs:
  1926         revs = [other.lookup(rev) for rev in revs]
  1930         revs = [other.lookup(rev) for rev in revs]
  1927     common, incoming, rheads = repo.findcommonincoming(other, heads=revs,
  1931     common, incoming, rheads = repo.findcommonincoming(other, heads=revs,
  1928                                                        force=opts["force"])
  1932                                                        force=opts["force"])
  1929     if not incoming:
  1933     if not incoming:
  2204     be pushed if a push was requested.
  2208     be pushed if a push was requested.
  2205 
  2209 
  2206     See pull for valid destination format details.
  2210     See pull for valid destination format details.
  2207     """
  2211     """
  2208     limit = cmdutil.loglimit(opts)
  2212     limit = cmdutil.loglimit(opts)
  2209     dest, revs, checkout = hg.parseurl(
  2213     dest = ui.expandpath(dest or 'default-push', dest or 'default')
  2210         ui.expandpath(dest or 'default-push', dest or 'default'),
  2214     dest, branches = hg.parseurl(dest)
  2211         opts.get('rev'))
  2215     revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
  2212     if revs:
  2216     if revs:
  2213         revs = [repo.lookup(rev) for rev in revs]
  2217         revs = [repo.lookup(rev) for rev in revs]
  2214 
  2218 
  2215     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2219     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2216     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
  2220     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
  2325     where X is the last changeset listed by hg incoming.
  2329     where X is the last changeset listed by hg incoming.
  2326 
  2330 
  2327     If SOURCE is omitted, the 'default' path will be used.
  2331     If SOURCE is omitted, the 'default' path will be used.
  2328     See 'hg help urls' for more information.
  2332     See 'hg help urls' for more information.
  2329     """
  2333     """
  2330     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  2334     source, branches = hg.parseurl(ui.expandpath(source))
  2331     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  2335     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  2332     ui.status(_('pulling from %s\n') % url.hidepassword(source))
  2336     ui.status(_('pulling from %s\n') % url.hidepassword(source))
       
  2337     revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
  2333     if revs:
  2338     if revs:
  2334         try:
  2339         try:
  2335             revs = [other.lookup(rev) for rev in revs]
  2340             revs = [other.lookup(rev) for rev in revs]
  2336         except error.CapabilityError:
  2341         except error.CapabilityError:
  2337             err = _("Other repository doesn't support revision lookup, "
  2342             err = _("Other repository doesn't support revision lookup, "
  2361     be pushed to the remote repository.
  2366     be pushed to the remote repository.
  2362 
  2367 
  2363     Please see 'hg help urls' for important details about ``ssh://``
  2368     Please see 'hg help urls' for important details about ``ssh://``
  2364     URLs. If DESTINATION is omitted, a default path will be used.
  2369     URLs. If DESTINATION is omitted, a default path will be used.
  2365     """
  2370     """
  2366     dest, revs, checkout = hg.parseurl(
  2371     dest = ui.expandpath(dest or 'default-push', dest or 'default')
  2367         ui.expandpath(dest or 'default-push', dest or 'default'),
  2372     dest, branches = hg.parseurl(dest)
  2368         opts.get('rev'))
  2373     revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
  2369     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2374     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2370     ui.status(_('pushing to %s\n') % url.hidepassword(dest))
  2375     ui.status(_('pushing to %s\n') % url.hidepassword(dest))
  2371     if revs:
  2376     if revs:
  2372         revs = [repo.lookup(rev) for rev in revs]
  2377         revs = [repo.lookup(rev) for rev in revs]
  2373 
  2378