mercurial/commands.py
changeset 1262 325c07fd2ebd
parent 1257 fe7fbfdb066d
child 1267 b0633406c07a
equal deleted inserted replaced
1261:fccc90f1994e 1262:325c07fd2ebd
   786 
   786 
   787 def copy(ui, repo, *pats, **opts):
   787 def copy(ui, repo, *pats, **opts):
   788     """mark files as copied for the next commit"""
   788     """mark files as copied for the next commit"""
   789     errs, copied = docopy(ui, repo, pats, opts)
   789     errs, copied = docopy(ui, repo, pats, opts)
   790     return errs
   790     return errs
       
   791 
       
   792 def debugancestor(ui, index, rev1, rev2):
       
   793     """find the ancestor revision of two revisions in a given index"""
       
   794     r = revlog.revlog(file, index, "")
       
   795     a = r.ancestor(r.lookup(rev1), r.lookup(rev2))
       
   796     ui.write("%d:%s\n" % (r.rev(a), hex(a)))
   791 
   797 
   792 def debugcheckstate(ui, repo):
   798 def debugcheckstate(ui, repo):
   793     """validate the correctness of the current dirstate"""
   799     """validate the correctness of the current dirstate"""
   794     parent1, parent2 = repo.dirstate.parents()
   800     parent1, parent2 = repo.dirstate.parents()
   795     repo.dirstate.read()
   801     repo.dirstate.read()
  1799               ('X', 'exclude', [], 'exclude path from search'),
  1805               ('X', 'exclude', [], 'exclude path from search'),
  1800               ('A', 'after', None, 'record a copy after it has happened'),
  1806               ('A', 'after', None, 'record a copy after it has happened'),
  1801               ('f', 'force', None, 'replace destination if it exists'),
  1807               ('f', 'force', None, 'replace destination if it exists'),
  1802               ('p', 'parents', None, 'append source path to dest')],
  1808               ('p', 'parents', None, 'append source path to dest')],
  1803              'hg copy [OPTION]... [SOURCE]... DEST'),
  1809              'hg copy [OPTION]... [SOURCE]... DEST'),
       
  1810     "debugancestor": (debugancestor, [], 'debugancestor INDEX REV1 REV2'),
  1804     "debugcheckstate": (debugcheckstate, [], 'debugcheckstate'),
  1811     "debugcheckstate": (debugcheckstate, [], 'debugcheckstate'),
  1805     "debugconfig": (debugconfig, [], 'debugconfig'),
  1812     "debugconfig": (debugconfig, [], 'debugconfig'),
  1806     "debugstate": (debugstate, [], 'debugstate'),
  1813     "debugstate": (debugstate, [], 'debugstate'),
  1807     "debugdata": (debugdata, [], 'debugdata FILE REV'),
  1814     "debugdata": (debugdata, [], 'debugdata FILE REV'),
  1808     "debugindex": (debugindex, [], 'debugindex FILE'),
  1815     "debugindex": (debugindex, [], 'debugindex FILE'),
  1981     ('', 'profile', None, 'profile'),
  1988     ('', 'profile', None, 'profile'),
  1982     ('', 'version', None, 'output version information and exit'),
  1989     ('', 'version', None, 'output version information and exit'),
  1983     ('h', 'help', None, 'display help and exit'),
  1990     ('h', 'help', None, 'display help and exit'),
  1984 ]
  1991 ]
  1985 
  1992 
  1986 norepo = ("clone init version help debugconfig debugdata"
  1993 norepo = ("clone init version help debugancestor debugconfig debugdata"
  1987           " debugindex debugindexdot paths")
  1994           " debugindex debugindexdot paths")
  1988 
  1995 
  1989 def find(cmd):
  1996 def find(cmd):
  1990     for e in table.keys():
  1997     for e in table.keys():
  1991         if re.match("(%s)$" % e, cmd):
  1998         if re.match("(%s)$" % e, cmd):