diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-02 13:39:16 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-08-23 14:37:49 -0700 |
commit | 003c84f6d2b9e9c4d5bbf5262cae994bac7190cb (patch) | |
tree | 90c8c22f9d376aa92f46d42f7f4b9d74017ce9b9 /Documentation/revisions.txt | |
parent | c142616fb2152d7887f9c38ff20e07167d31b0c8 (diff) | |
download | git-003c84f6d2b9e9c4d5bbf5262cae994bac7190cb.tar.gz |
specifying ranges: we did not mean to make ".." an empty set
Either end of revision range operator can be omitted to default to HEAD,
as in "origin.." (what did I do since I forked) or "..origin" (what did
they do since I forked). But the current parser interprets ".." as an
empty range "HEAD..HEAD", and worse yet, because ".." does exist on the
filesystem, we get this annoying output:
$ cd Documentation/howto
$ git log .. ;# give me recent commits that touch Documentation/ area.
fatal: ambiguous argument '..': both revision and filename
Use '--' to separate filenames from revisions
Surely we could say "git log ../" or even "git log -- .." to disambiguate,
but we shouldn't have to.
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/revisions.txt')
-rw-r--r-- | Documentation/revisions.txt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index dc0070bcb7..69d996bc38 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -213,6 +213,13 @@ of 'r1' and 'r2' and is defined as It is the set of commits that are reachable from either one of 'r1' or 'r2' but not from both. +In these two shorthands, you can omit one end and let it default to HEAD. +For example, 'origin..' is a shorthand for 'origin..HEAD' and asks "What +did I do since I forked from the origin branch?" Similarly, '..origin' +is a shorthand for 'HEAD..origin' and asks "What did the origin do since +I forked from them?" Note that '..' would mean 'HEAD..HEAD' which is an +empty range that is both reachable and unreachable from HEAD. + Two other shorthands for naming a set that is formed by a commit and its parent commits exist. The 'r1{caret}@' notation means all parents of 'r1'. 'r1{caret}!' includes commit 'r1' but excludes |