Support expansion flags

This commit is contained in:
Tim Pope
2018-08-28 00:35:06 -04:00
parent 1e3786734b
commit fd83fcaf90
2 changed files with 69 additions and 27 deletions

View File

@@ -312,14 +312,14 @@ a Show the current tag, commit, or tree in an alternate
SPECIFYING OBJECTS *fugitive-object* *fugitive-revision*
Fugitive objects are either work tree files or Git revisions as defined in the
"SPECIFYING REVISIONS" section in the git-rev-parse man page, with a few
convenience notations thrown in for good measure. For commands that accept an
"SPECIFYING REVISIONS" section in the git-rev-parse man page, with expansions
inspired by |cmdline-special| layered on top. For commands that accept an
optional object, the default is the file in the index for work tree files and
the work tree file for everything else. Example objects follow.
Object Meaning ~
HEAD .git/HEAD
refs/heads/x .git/refs/heads/x
refs/heads/x .git/refs/heads/x (in "common dir" if present)
@ The commit referenced by @ aka HEAD
master^ The parent of the commit referenced by master
master: The tree referenced by master
@@ -327,15 +327,16 @@ master: The tree referenced by master
Makefile The file named Makefile in the work tree
@^:Makefile The file named Makefile in the parent of HEAD
:Makefile The file named Makefile in the index (writable)
@:% The current file in HEAD
- The current file in HEAD
-^ The current file in the previous commit
-~3 The current file 3 commits ago
: .git/index (Same as |:Gstatus|)
@~2:% The current file in the grandparent of HEAD
:% The current file in the index
:1:% The current file's common ancestor during a conflict
:2:% The current file in the target branch during a conflict
:3:% The current file in the merged branch during a conflict
:2:# The alternate file in the target branch during a conflict
:3:#5 The file from buffer #5 in the merged branch during a conflict
! The commit owning the current file
!:Makefile The file named Makefile in the commit owning the current file
!3^2 The second parent of the commit owning buffer #3
.git/config The repo config file
: Same as |:Gstatus|
STATUSLINE *fugitive-statusline*