Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revset.py @ 24419:0e41f110e69e
revset: add wdir() function to specify workingctx revision by command
The main purpose of wdir() is to annotate working-directory files.
Currently many commands and revsets cannot handle workingctx and may raise
exception. For example, -r ":wdir()" results in TypeError. This problem will
be addressed by future patches.
We could add "wdir" symbol instead, but it would conflict with the existing
tag, bookmark or branch. So I decided not to.
List of commands that will potentially support workingctx revision:
command default remarks
-------- ------- -----------------------------------------------------
annotate p1 useful
archive p1 might be useful
cat p1 might be useful on Windows (no cat)
diff p1:wdir (default)
export p1 might be useful if wctx can have draft commit message
files wdir (default)
grep tip:0 might be useful
identify wdir (default)
locate wdir (default)
log tip:0 might be useful with -p or -G option
parents wdir (default)
status wdir (default)
This patch includes minimal test of "hg status" that should be able to handle
the workingctx revision.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 16 Aug 2014 13:44:16 +0900 |
parents | 77fd1fb538cd |
children | 582cfcc843c7 |
line wrap: on
line diff
--- a/mercurial/revset.py Tue Mar 17 13:41:24 2015 -0700 +++ b/mercurial/revset.py Sat Aug 16 13:44:16 2014 +0900 @@ -1852,6 +1852,16 @@ """ return author(repo, subset, x) +def wdir(repo, subset, x): + """``wdir()`` + Working directory. + """ + # i18n: "wdir" is a keyword + getargs(x, 0, 0, _("wdir takes no arguments")) + if None in subset: + return baseset([None]) + return baseset() + # for internal use def _list(repo, subset, x): s = getstring(x, "internal error") @@ -1947,6 +1957,7 @@ "tagged": tagged, "user": user, "unstable": unstable, + "wdir": wdir, "_list": _list, "_intlist": _intlist, "_hexlist": _hexlist, @@ -2019,6 +2030,7 @@ "tagged", "user", "unstable", + "wdir", "_list", "_intlist", "_hexlist",