mercurial/commands.py
changeset 8188 f3abe032fc89
parent 8182 b97abc7c1135
child 8189 d2899a856f9f
equal deleted inserted replaced
8187:d2504744e7a5 8188:f3abe032fc89
   519                 for p in parents:
   519                 for p in parents:
   520                     if p not in seen:
   520                     if p not in seen:
   521                         seen[p] = 1
   521                         seen[p] = 1
   522                         visit.append(p)
   522                         visit.append(p)
   523     else:
   523     else:
   524         cmdutil.setremoteconfig(ui, opts)
       
   525         dest, revs, checkout = hg.parseurl(
   524         dest, revs, checkout = hg.parseurl(
   526             ui.expandpath(dest or 'default-push', dest or 'default'), revs)
   525             ui.expandpath(dest or 'default-push', dest or 'default'), revs)
   527         other = hg.repository(ui, dest)
   526         other = hg.repository(cmdutil.remoteui(repo, opts), dest)
   528         o = repo.findoutgoing(other, force=opts.get('force'))
   527         o = repo.findoutgoing(other, force=opts.get('force'))
   529 
   528 
   530     if revs:
   529     if revs:
   531         cg = repo.changegroupsubset(o, revs, 'bundle')
   530         cg = repo.changegroupsubset(o, revs, 'bundle')
   532     else:
   531     else:
   613     breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,
   612     breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,
   614     this is not compatible with certain extensions that place their
   613     this is not compatible with certain extensions that place their
   615     metadata under the .hg directory, such as mq.
   614     metadata under the .hg directory, such as mq.
   616 
   615 
   617     """
   616     """
   618     cmdutil.setremoteconfig(ui, opts)
   617     hg.clone(cmdutil.remoteui(ui, opts), source, dest,
   619     hg.clone(ui, source, dest,
       
   620              pull=opts.get('pull'),
   618              pull=opts.get('pull'),
   621              stream=opts.get('uncompressed'),
   619              stream=opts.get('uncompressed'),
   622              rev=opts.get('rev'),
   620              rev=opts.get('rev'),
   623              update=not opts.get('noupdate'))
   621              update=not opts.get('noupdate'))
   624 
   622 
  1764 
  1762 
  1765     See pull for valid source format details.
  1763     See pull for valid source format details.
  1766     """
  1764     """
  1767     limit = cmdutil.loglimit(opts)
  1765     limit = cmdutil.loglimit(opts)
  1768     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  1766     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  1769     cmdutil.setremoteconfig(ui, opts)
  1767     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  1770 
       
  1771     other = hg.repository(ui, source)
       
  1772     ui.status(_('comparing with %s\n') % url.hidepassword(source))
  1768     ui.status(_('comparing with %s\n') % url.hidepassword(source))
  1773     if revs:
  1769     if revs:
  1774         revs = [other.lookup(rev) for rev in revs]
  1770         revs = [other.lookup(rev) for rev in revs]
  1775     common, incoming, rheads = repo.findcommonincoming(other, heads=revs,
  1771     common, incoming, rheads = repo.findcommonincoming(other, heads=revs,
  1776                                                        force=opts["force"])
  1772                                                        force=opts["force"])
  1832     If no directory is given, the current directory is used.
  1828     If no directory is given, the current directory is used.
  1833 
  1829 
  1834     It is possible to specify an ssh:// URL as the destination.
  1830     It is possible to specify an ssh:// URL as the destination.
  1835     See 'hg help urls' for more information.
  1831     See 'hg help urls' for more information.
  1836     """
  1832     """
  1837     cmdutil.setremoteconfig(ui, opts)
  1833     hg.repository(cmdutil.remoteui(ui, opts), dest, create=1)
  1838     hg.repository(ui, dest, create=1)
       
  1839 
  1834 
  1840 def locate(ui, repo, *pats, **opts):
  1835 def locate(ui, repo, *pats, **opts):
  1841     """locate files matching specific patterns
  1836     """locate files matching specific patterns
  1842 
  1837 
  1843     Print all files under Mercurial control whose names match the
  1838     Print all files under Mercurial control whose names match the
  2082     See pull for valid destination format details.
  2077     See pull for valid destination format details.
  2083     """
  2078     """
  2084     limit = cmdutil.loglimit(opts)
  2079     limit = cmdutil.loglimit(opts)
  2085     dest, revs, checkout = hg.parseurl(
  2080     dest, revs, checkout = hg.parseurl(
  2086         ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev'))
  2081         ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev'))
  2087     cmdutil.setremoteconfig(ui, opts)
       
  2088     if revs:
  2082     if revs:
  2089         revs = [repo.lookup(rev) for rev in revs]
  2083         revs = [repo.lookup(rev) for rev in revs]
  2090 
  2084 
  2091     other = hg.repository(ui, dest)
  2085     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2092     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
  2086     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
  2093     o = repo.findoutgoing(other, force=opts.get('force'))
  2087     o = repo.findoutgoing(other, force=opts.get('force'))
  2094     if not o:
  2088     if not o:
  2095         ui.status(_("no changes found\n"))
  2089         ui.status(_("no changes found\n"))
  2096         return 1
  2090         return 1
  2197 
  2191 
  2198     If SOURCE is omitted, the 'default' path will be used.
  2192     If SOURCE is omitted, the 'default' path will be used.
  2199     See 'hg help urls' for more information.
  2193     See 'hg help urls' for more information.
  2200     """
  2194     """
  2201     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  2195     source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev'))
  2202     cmdutil.setremoteconfig(ui, opts)
  2196     other = hg.repository(cmdutil.remoteui(repo, opts), source)
  2203 
       
  2204     other = hg.repository(ui, source)
       
  2205     ui.status(_('pulling from %s\n') % url.hidepassword(source))
  2197     ui.status(_('pulling from %s\n') % url.hidepassword(source))
  2206     if revs:
  2198     if revs:
  2207         try:
  2199         try:
  2208             revs = [other.lookup(rev) for rev in revs]
  2200             revs = [other.lookup(rev) for rev in revs]
  2209         except error.CapabilityError:
  2201         except error.CapabilityError:
  2235     URLs. If DESTINATION is omitted, a default path will be used.
  2227     URLs. If DESTINATION is omitted, a default path will be used.
  2236     See 'hg help urls' for more information.
  2228     See 'hg help urls' for more information.
  2237     """
  2229     """
  2238     dest, revs, checkout = hg.parseurl(
  2230     dest, revs, checkout = hg.parseurl(
  2239         ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev'))
  2231         ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev'))
  2240     cmdutil.setremoteconfig(ui, opts)
  2232     other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  2241 
       
  2242     other = hg.repository(ui, dest)
       
  2243     ui.status(_('pushing to %s\n') % url.hidepassword(dest))
  2233     ui.status(_('pushing to %s\n') % url.hidepassword(dest))
  2244     if revs:
  2234     if revs:
  2245         revs = [repo.lookup(rev) for rev in revs]
  2235         revs = [repo.lookup(rev) for rev in revs]
  2246     r = repo.push(other, opts.get('force'), revs=revs)
  2236     r = repo.push(other, opts.get('force'), revs=revs)
  2247     return r == 0
  2237     return r == 0