comparison mercurial/commands.py @ 5248:5517aa5aafb0

Merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Mon, 27 Aug 2007 02:21:58 -0300
parents 9cd6578750b9 20817af258d8
children 65dc707606ed
comparison
equal deleted inserted replaced
5247:20770c5d41e0 5248:5517aa5aafb0
333 if p not in seen: 333 if p not in seen:
334 seen[p] = 1 334 seen[p] = 1
335 visit.append(p) 335 visit.append(p)
336 else: 336 else:
337 cmdutil.setremoteconfig(ui, opts) 337 cmdutil.setremoteconfig(ui, opts)
338 dest, revs = hg.parseurl( 338 dest, revs, checkout = hg.parseurl(
339 ui.expandpath(dest or 'default-push', dest or 'default'), revs) 339 ui.expandpath(dest or 'default-push', dest or 'default'), revs)
340 other = hg.repository(ui, dest) 340 other = hg.repository(ui, dest)
341 o = repo.findoutgoing(other, force=opts['force']) 341 o = repo.findoutgoing(other, force=opts['force'])
342 342
343 if revs: 343 if revs:
1472 hexfunc = ui.debugflag and hex or short 1472 hexfunc = ui.debugflag and hex or short
1473 default = not (num or id or branch or tags) 1473 default = not (num or id or branch or tags)
1474 output = [] 1474 output = []
1475 1475
1476 if source: 1476 if source:
1477 source, revs = hg.parseurl(ui.expandpath(source), []) 1477 source, revs, checkout = hg.parseurl(ui.expandpath(source), [])
1478 srepo = hg.repository(ui, source) 1478 srepo = hg.repository(ui, source)
1479 if not rev and revs: 1479 if not rev and revs:
1480 rev = revs[0] 1480 rev = revs[0]
1481 if not rev: 1481 if not rev:
1482 rev = "tip" 1482 rev = "tip"
1637 For remote repository, using --bundle avoids downloading the changesets 1637 For remote repository, using --bundle avoids downloading the changesets
1638 twice if the incoming is followed by a pull. 1638 twice if the incoming is followed by a pull.
1639 1639
1640 See pull for valid source format details. 1640 See pull for valid source format details.
1641 """ 1641 """
1642 source, revs = hg.parseurl(ui.expandpath(source), opts['rev']) 1642 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts['rev'])
1643 cmdutil.setremoteconfig(ui, opts) 1643 cmdutil.setremoteconfig(ui, opts)
1644 1644
1645 other = hg.repository(ui, source) 1645 other = hg.repository(ui, source)
1646 ui.status(_('comparing with %s\n') % source) 1646 ui.status(_('comparing with %s\n') % source)
1647 if revs: 1647 if revs:
1948 the default push location. These are the changesets that would be pushed 1948 the default push location. These are the changesets that would be pushed
1949 if a push was requested. 1949 if a push was requested.
1950 1950
1951 See pull for valid destination format details. 1951 See pull for valid destination format details.
1952 """ 1952 """
1953 dest, revs = hg.parseurl( 1953 dest, revs, checkout = hg.parseurl(
1954 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev']) 1954 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev'])
1955 cmdutil.setremoteconfig(ui, opts) 1955 cmdutil.setremoteconfig(ui, opts)
1956 if revs: 1956 if revs:
1957 revs = [repo.lookup(rev) for rev in revs] 1957 revs = [repo.lookup(rev) for rev in revs]
1958 1958
2016 return 1 2016 return 1
2017 else: 2017 else:
2018 for name, path in ui.configitems("paths"): 2018 for name, path in ui.configitems("paths"):
2019 ui.write("%s = %s\n" % (name, path)) 2019 ui.write("%s = %s\n" % (name, path))
2020 2020
2021 def postincoming(ui, repo, modheads, optupdate): 2021 def postincoming(ui, repo, modheads, optupdate, checkout):
2022 if modheads == 0: 2022 if modheads == 0:
2023 return 2023 return
2024 if optupdate: 2024 if optupdate:
2025 if modheads <= 1: 2025 if modheads <= 1 or checkout:
2026 return hg.update(repo, None) 2026 return hg.update(repo, checkout)
2027 else: 2027 else:
2028 ui.status(_("not updating, since new heads added\n")) 2028 ui.status(_("not updating, since new heads added\n"))
2029 if modheads > 1: 2029 if modheads > 1:
2030 ui.status(_("(run 'hg heads' to see heads, 'hg merge' to merge)\n")) 2030 ui.status(_("(run 'hg heads' to see heads, 'hg merge' to merge)\n"))
2031 else: 2031 else:
2070 Host * 2070 Host *
2071 Compression yes 2071 Compression yes
2072 Alternatively specify "ssh -C" as your ssh command in your hgrc or 2072 Alternatively specify "ssh -C" as your ssh command in your hgrc or
2073 with the --ssh command line option. 2073 with the --ssh command line option.
2074 """ 2074 """
2075 source, revs = hg.parseurl(ui.expandpath(source), opts['rev']) 2075 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts['rev'])
2076 cmdutil.setremoteconfig(ui, opts) 2076 cmdutil.setremoteconfig(ui, opts)
2077 2077
2078 other = hg.repository(ui, source) 2078 other = hg.repository(ui, source)
2079 ui.status(_('pulling from %s\n') % (source)) 2079 ui.status(_('pulling from %s\n') % (source))
2080 if revs: 2080 if revs:
2083 else: 2083 else:
2084 error = _("Other repository doesn't support revision lookup, so a rev cannot be specified.") 2084 error = _("Other repository doesn't support revision lookup, so a rev cannot be specified.")
2085 raise util.Abort(error) 2085 raise util.Abort(error)
2086 2086
2087 modheads = repo.pull(other, heads=revs, force=opts['force']) 2087 modheads = repo.pull(other, heads=revs, force=opts['force'])
2088 return postincoming(ui, repo, modheads, opts['update']) 2088 return postincoming(ui, repo, modheads, opts['update'], checkout)
2089 2089
2090 def push(ui, repo, dest=None, **opts): 2090 def push(ui, repo, dest=None, **opts):
2091 """push changes to the specified destination 2091 """push changes to the specified destination
2092 2092
2093 Push changes from the local repository to the given destination. 2093 Push changes from the local repository to the given destination.
2115 about ssh:// URLs. 2115 about ssh:// URLs.
2116 2116
2117 Pushing to http:// and https:// URLs is only possible, if this 2117 Pushing to http:// and https:// URLs is only possible, if this
2118 feature is explicitly enabled on the remote Mercurial server. 2118 feature is explicitly enabled on the remote Mercurial server.
2119 """ 2119 """
2120 dest, revs = hg.parseurl( 2120 dest, revs, checkout = hg.parseurl(
2121 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev']) 2121 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev'])
2122 cmdutil.setremoteconfig(ui, opts) 2122 cmdutil.setremoteconfig(ui, opts)
2123 2123
2124 other = hg.repository(ui, dest) 2124 other = hg.repository(ui, dest)
2125 ui.status('pushing to %s\n' % (dest)) 2125 ui.status('pushing to %s\n' % (dest))
2661 else: 2661 else:
2662 f = urllib.urlopen(fname) 2662 f = urllib.urlopen(fname)
2663 gen = changegroup.readbundle(f, fname) 2663 gen = changegroup.readbundle(f, fname)
2664 modheads = repo.addchangegroup(gen, 'unbundle', 'bundle:' + fname) 2664 modheads = repo.addchangegroup(gen, 'unbundle', 'bundle:' + fname)
2665 2665
2666 return postincoming(ui, repo, modheads, opts['update']) 2666 return postincoming(ui, repo, modheads, opts['update'], None)
2667 2667
2668 def update(ui, repo, node=None, rev=None, clean=False, date=None): 2668 def update(ui, repo, node=None, rev=None, clean=False, date=None):
2669 """update working directory 2669 """update working directory
2670 2670
2671 Update the working directory to the specified revision, or the 2671 Update the working directory to the specified revision, or the