# HG changeset patch # User Martin von Zweigbergk # Date 2017-01-12 07:13:00 # Node ID c2cbc1b050dbbf2e3d2dd18541983d30ad45824d # Parent d0a758e7002b9d62172831365a71569967417dbe help: explain that revsets can be used where 1 or 2 revs are wanted We did not seem to document that one can do things like "hg up :@" where the last revision of the revset ":@". diff --git a/mercurial/help/revisions.txt b/mercurial/help/revisions.txt --- a/mercurial/help/revisions.txt +++ b/mercurial/help/revisions.txt @@ -29,6 +29,12 @@ working directory is checked out, it is uncommitted merge is in progress, "." is the revision of the first parent. +Finally, commands that expect a single revision (like ``hg update``) also +accept revsets (see below for details). When given a revset, they use the +last revision of the revset. A few commands accept two single revisions +(like ``hg diff``). When given a revset, they use the first and the last +revisions of the revset. + Specifying multiple revisions ============================= @@ -188,3 +194,13 @@ Some sample queries: release:: hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())" + +- Update to commit that bookmark @ is pointing too, without activating the + bookmark (this works because the last revision of the revset is used):: + + hg update :@ + +- Show diff between tags 1.3 and 1.5 (this works because the first and the + last revisions of the revset are used):: + + hg diff -r 1.3::1.5 diff --git a/tests/test-extension.t b/tests/test-extension.t --- a/tests/test-extension.t +++ b/tests/test-extension.t @@ -731,14 +731,14 @@ Test help topic with same name as extens $ echo "multirevs = multirevs.py" >> $HGRCPATH $ hg help multirevs | tail + bookmark (this works because the last revision of the revset is used): - - Changesets committed in May 2008, sorted by user: + hg update :@ - hg log -r "sort(date('May 2008'), user)" + - Show diff between tags 1.3 and 1.5 (this works because the first and the + last revisions of the revset are used): - - Changesets mentioning "bug" or "issue" that are not in a tagged release: - - hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())" + hg diff -r 1.3::1.5 use 'hg help -c multirevs' to see help for the multirevs command