diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index f4f6f281a..dc0070bcb 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -218,13 +218,44 @@ and its parent commits exist. The 'r1{caret}@' notation means all parents of 'r1'. 'r1{caret}!' includes commit 'r1' but excludes all of its parents. +To summarize: + +'':: + Include commits that are reachable from (i.e. ancestors of) + . + +'{caret}':: + Exclude commits that are reachable from (i.e. ancestors of) + . + +'..':: + Include commits that are reachable from but exclude + those that are reachable from . + +'\...':: + Include commits that are reachable from either or + but exclude those that are reachable from both. + +'{caret}@', e.g. 'HEAD{caret}@':: + A suffix '{caret}' followed by an at sign is the same as listing + all parents of '' (meaning, include anything reachable from + its parents, but not the commit itself). + +'{caret}!', e.g. 'HEAD{caret}!':: + A suffix '{caret}' followed by an exclamation mark is the same + as giving commit '' and then all its parents prefixed with + '{caret}' to exclude them (and their ancestors). + Here are a handful of examples: D G H D D F G H I J D F ^G D H D ^D B E I J F B + B..C C B...C G H D E B C ^D B C E I J F B C + C I J F C C^@ I J F + C^! C F^! D G H D F