mercurial/commands.py
changeset 1959 d53a18f592be
parent 1948 ebe273a16048
child 1965 62aa1b90414f
equal deleted inserted replaced
1954:34d0e2e559ff 1959:d53a18f592be
   860     Unlike import/export, this exactly preserves all changeset
   860     Unlike import/export, this exactly preserves all changeset
   861     contents including permissions, rename data, and revision history.
   861     contents including permissions, rename data, and revision history.
   862     """
   862     """
   863     dest = ui.expandpath(dest)
   863     dest = ui.expandpath(dest)
   864     other = hg.repository(ui, dest)
   864     other = hg.repository(ui, dest)
   865     o = repo.findoutgoing(other)
   865     o = repo.findoutgoing(other, force=opts['force'])
   866     cg = repo.changegroup(o, 'bundle')
   866     cg = repo.changegroup(o, 'bundle')
   867     write_bundle(cg, fname)
   867     write_bundle(cg, fname)
   868 
   868 
   869 def cat(ui, repo, file1, *pats, **opts):
   869 def cat(ui, repo, file1, *pats, **opts):
   870     """output the latest or given revisions of files
   870     """output the latest or given revisions of files
  1764     For remote repository, using --bundle avoids downloading the changesets
  1764     For remote repository, using --bundle avoids downloading the changesets
  1765     twice if the incoming is followed by a pull.
  1765     twice if the incoming is followed by a pull.
  1766     """
  1766     """
  1767     source = ui.expandpath(source)
  1767     source = ui.expandpath(source)
  1768     other = hg.repository(ui, source)
  1768     other = hg.repository(ui, source)
  1769     incoming = repo.findincoming(other)
  1769     incoming = repo.findincoming(other, force=opts["force"])
  1770     if not incoming:
  1770     if not incoming:
  1771         return
  1771         return
  1772 
  1772 
  1773     cleanup = None
  1773     cleanup = None
  1774     if not other.local() or opts["bundle"]:
  1774     if not other.local() or opts["bundle"]:
  1976 
  1976 
  1977     See pull for valid source format details.
  1977     See pull for valid source format details.
  1978     """
  1978     """
  1979     dest = ui.expandpath(dest)
  1979     dest = ui.expandpath(dest)
  1980     other = hg.repository(ui, dest)
  1980     other = hg.repository(ui, dest)
  1981     o = repo.findoutgoing(other)
  1981     o = repo.findoutgoing(other, force=opts['force'])
  1982     o = repo.changelog.nodesbetween(o)[0]
  1982     o = repo.changelog.nodesbetween(o)[0]
  1983     if opts['newest_first']:
  1983     if opts['newest_first']:
  1984         o.reverse()
  1984         o.reverse()
  1985     displayer = show_changeset(ui, repo, opts)
  1985     displayer = show_changeset(ui, repo, opts)
  1986     for n in o:
  1986     for n in o:
  2064     revs = None
  2064     revs = None
  2065     if opts['rev'] and not other.local():
  2065     if opts['rev'] and not other.local():
  2066         raise util.Abort(_("pull -r doesn't work for remote repositories yet"))
  2066         raise util.Abort(_("pull -r doesn't work for remote repositories yet"))
  2067     elif opts['rev']:
  2067     elif opts['rev']:
  2068         revs = [other.lookup(rev) for rev in opts['rev']]
  2068         revs = [other.lookup(rev) for rev in opts['rev']]
  2069     r = repo.pull(other, heads=revs)
  2069     r = repo.pull(other, heads=revs, force=opts['force'])
  2070     if not r:
  2070     if not r:
  2071         if opts['update']:
  2071         if opts['update']:
  2072             return update(ui, repo)
  2072             return update(ui, repo)
  2073         else:
  2073         else:
  2074             ui.status(_("(run 'hg update' to get a working copy)\n"))
  2074             ui.status(_("(run 'hg update' to get a working copy)\n"))
  2644           ('I', 'include', [], _('include names matching the given patterns')),
  2644           ('I', 'include', [], _('include names matching the given patterns')),
  2645           ('X', 'exclude', [], _('exclude names matching the given patterns'))],
  2645           ('X', 'exclude', [], _('exclude names matching the given patterns'))],
  2646          _('hg annotate [-r REV] [-a] [-u] [-d] [-n] [-c] FILE...')),
  2646          _('hg annotate [-r REV] [-a] [-u] [-d] [-n] [-c] FILE...')),
  2647     "bundle":
  2647     "bundle":
  2648         (bundle,
  2648         (bundle,
  2649          [],
  2649          [('f', 'force', None,
       
  2650            _('run even when remote repository is unrelated'))],
  2650          _('hg bundle FILE DEST')),
  2651          _('hg bundle FILE DEST')),
  2651     "cat":
  2652     "cat":
  2652         (cat,
  2653         (cat,
  2653          [('o', 'output', '', _('print output to file with formatted name')),
  2654          [('o', 'output', '', _('print output to file with formatted name')),
  2654           ('r', 'rev', '', _('print the given revision')),
  2655           ('r', 'rev', '', _('print the given revision')),
  2755           ('f', 'force', None,
  2756           ('f', 'force', None,
  2756            _('skip check for outstanding uncommitted changes'))],
  2757            _('skip check for outstanding uncommitted changes'))],
  2757          _('hg import [-p NUM] [-b BASE] [-f] PATCH...')),
  2758          _('hg import [-p NUM] [-b BASE] [-f] PATCH...')),
  2758     "incoming|in": (incoming,
  2759     "incoming|in": (incoming,
  2759          [('M', 'no-merges', None, _('do not show merges')),
  2760          [('M', 'no-merges', None, _('do not show merges')),
       
  2761           ('f', 'force', None,
       
  2762            _('run even when remote repository is unrelated')),
  2760           ('', 'style', '', _('display using template map file')),
  2763           ('', 'style', '', _('display using template map file')),
  2761           ('n', 'newest-first', None, _('show newest record first')),
  2764           ('n', 'newest-first', None, _('show newest record first')),
  2762           ('', 'bundle', '', _('file to store the bundles into')),
  2765           ('', 'bundle', '', _('file to store the bundles into')),
  2763           ('p', 'patch', None, _('show patch')),
  2766           ('p', 'patch', None, _('show patch')),
  2764           ('', 'template', '', _('display with template'))],
  2767           ('', 'template', '', _('display with template'))],
  2789           ('X', 'exclude', [], _('exclude names matching the given patterns'))],
  2792           ('X', 'exclude', [], _('exclude names matching the given patterns'))],
  2790          _('hg log [OPTION]... [FILE]')),
  2793          _('hg log [OPTION]... [FILE]')),
  2791     "manifest": (manifest, [], _('hg manifest [REV]')),
  2794     "manifest": (manifest, [], _('hg manifest [REV]')),
  2792     "outgoing|out": (outgoing,
  2795     "outgoing|out": (outgoing,
  2793          [('M', 'no-merges', None, _('do not show merges')),
  2796          [('M', 'no-merges', None, _('do not show merges')),
       
  2797           ('f', 'force', None,
       
  2798            _('run even when remote repository is unrelated')),
  2794           ('p', 'patch', None, _('show patch')),
  2799           ('p', 'patch', None, _('show patch')),
  2795           ('', 'style', '', _('display using template map file')),
  2800           ('', 'style', '', _('display using template map file')),
  2796           ('n', 'newest-first', None, _('show newest record first')),
  2801           ('n', 'newest-first', None, _('show newest record first')),
  2797           ('', 'template', '', _('display with template'))],
  2802           ('', 'template', '', _('display with template'))],
  2798          _('hg outgoing [-M] [-p] [-n] [DEST]')),
  2803          _('hg outgoing [-M] [-p] [-n] [DEST]')),
  2806     "^pull":
  2811     "^pull":
  2807         (pull,
  2812         (pull,
  2808          [('u', 'update', None,
  2813          [('u', 'update', None,
  2809            _('update the working directory to tip after pull')),
  2814            _('update the working directory to tip after pull')),
  2810           ('e', 'ssh', '', _('specify ssh command to use')),
  2815           ('e', 'ssh', '', _('specify ssh command to use')),
       
  2816           ('f', 'force', None,
       
  2817            _('run even when remote repository is unrelated')),
  2811           ('r', 'rev', [], _('a specific revision you would like to pull')),
  2818           ('r', 'rev', [], _('a specific revision you would like to pull')),
  2812           ('', 'remotecmd', '',
  2819           ('', 'remotecmd', '',
  2813            _('specify hg command to run on the remote side'))],
  2820            _('specify hg command to run on the remote side'))],
  2814          _('hg pull [-u] [-e FILE] [-r REV]... [--remotecmd FILE] [SOURCE]')),
  2821          _('hg pull [-u] [-e FILE] [-r REV]... [--remotecmd FILE] [SOURCE]')),
  2815     "^push":
  2822     "^push":