Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 5298:cba2a689117d
parents: make it match the doc when called on a file
parents used to return the parent revision of the last revision updating selected file, instead of the updating revision itself.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Tue, 11 Sep 2007 23:04:42 +0200 |
parents | bfd73b567b3d |
children | 81575b7b505e 7e6138cb8d38 |
comparison
equal
deleted
inserted
replaced
5296:c8efd19e248c | 5298:cba2a689117d |
---|---|
1983 will be printed. If a file argument is given, revision in | 1983 will be printed. If a file argument is given, revision in |
1984 which the file was last changed (before the working directory | 1984 which the file was last changed (before the working directory |
1985 revision or the argument to --rev if given) is printed. | 1985 revision or the argument to --rev if given) is printed. |
1986 """ | 1986 """ |
1987 rev = opts.get('rev') | 1987 rev = opts.get('rev') |
1988 if rev: | |
1989 ctx = repo.changectx(rev) | |
1990 else: | |
1991 ctx = repo.workingctx() | |
1992 | |
1988 if file_: | 1993 if file_: |
1989 files, match, anypats = cmdutil.matchpats(repo, (file_,), opts) | 1994 files, match, anypats = cmdutil.matchpats(repo, (file_,), opts) |
1990 if anypats or len(files) != 1: | 1995 if anypats or len(files) != 1: |
1991 raise util.Abort(_('can only specify an explicit file name')) | 1996 raise util.Abort(_('can only specify an explicit file name')) |
1992 ctx = repo.filectx(files[0], changeid=rev) | 1997 file_ = files[0] |
1993 elif rev: | 1998 filenodes = [] |
1994 ctx = repo.changectx(rev) | 1999 for cp in ctx.parents(): |
2000 if not cp: | |
2001 continue | |
2002 try: | |
2003 filenodes.append(cp.filenode(file_)) | |
2004 except revlog.LookupError: | |
2005 pass | |
2006 if not filenodes: | |
2007 raise util.Abort(_("'%s' not found in manifest!") % file_) | |
2008 fl = repo.file(file_) | |
2009 p = [repo.lookup(fl.linkrev(fn)) for fn in filenodes] | |
1995 else: | 2010 else: |
1996 ctx = repo.workingctx() | 2011 p = [cp.node() for cp in ctx.parents()] |
1997 p = [cp.node() for cp in ctx.parents()] | |
1998 | 2012 |
1999 displayer = cmdutil.show_changeset(ui, repo, opts) | 2013 displayer = cmdutil.show_changeset(ui, repo, opts) |
2000 for n in p: | 2014 for n in p: |
2001 if n != nullid: | 2015 if n != nullid: |
2002 displayer.show(changenode=n) | 2016 displayer.show(changenode=n) |