diff: add --word-diff option that generalizes --color-words
[gitweb.git] / Documentation / rev-list-options.txt
index 1f57aed337e87e8bd2b175ef3fc807288a8256bf..b9fb7a86bd4bf91205b77275fb51ff13a3bc5622 100644 (file)
@@ -108,8 +108,8 @@ options may be given. See linkgit:git-diff-files[1] for more options.
 
 -c::
 
-       This flag changes the way a merge commit is displayed.  It shows
-       the differences from each of the parents to the merge result
+       With this option, diff output for a merge commit
+       shows the differences from each of the parents to the merge result
        simultaneously instead of showing pairwise diff between a parent
        and the result one at a time. Furthermore, it lists only files
        which were modified from all parents.
@@ -121,6 +121,15 @@ options may be given. See linkgit:git-diff-files[1] for more options.
        the parents have only two variants and the merge result picks
        one of them without modification.
 
+-m::
+
+       This flag makes the merge commits show the full diff like
+       regular commits; for each merge parent, a separate log entry
+       and diff is generated. An exception is that only diff against
+       the first parent is shown when '--first-parent' option is given;
+       in that case, the output represents the changes the merge
+       brought _into_ the then-current branch.
+
 -r::
 
        Show recursive diffs.
@@ -225,30 +234,43 @@ endif::git-rev-list[]
 
 --all::
 
-       Pretend as if all the refs in `$GIT_DIR/refs/` are listed on the
+       Pretend as if all the refs in `refs/` are listed on the
        command line as '<commit>'.
 
---branches::
+--branches[=pattern]::
+
+       Pretend as if all the refs in `refs/heads` are listed
+       on the command line as '<commit>'. If `pattern` is given, limit
+       branches to ones matching given shell glob. If pattern lacks '?',
+       '*', or '[', '/*' at the end is implied.
+
+--tags[=pattern]::
 
-       Pretend as if all the refs in `$GIT_DIR/refs/heads` are listed
-       on the command line as '<commit>'.
+       Pretend as if all the refs in `refs/tags` are listed
+       on the command line as '<commit>'. If `pattern` is given, limit
+       tags to ones matching given shell glob. If pattern lacks '?', '*',
+       or '[', '/*' at the end is implied.
 
---tags::
+--remotes[=pattern]::
 
-       Pretend as if all the refs in `$GIT_DIR/refs/tags` are listed
-       on the command line as '<commit>'.
+       Pretend as if all the refs in `refs/remotes` are listed
+       on the command line as '<commit>'. If `pattern`is given, limit
+       remote tracking branches to ones matching given shell glob.
+       If pattern lacks '?', '*', or '[', '/*' at the end is implied.
 
---remotes::
+--glob=glob-pattern::
+       Pretend as if all the refs matching shell glob `glob-pattern`
+       are listed on the command line as '<commit>'. Leading 'refs/',
+       is automatically prepended if missing. If pattern lacks '?', '*',
+       or '[', '/*' at the end is implied.
 
-       Pretend as if all the refs in `$GIT_DIR/refs/remotes` are listed
-       on the command line as '<commit>'.
 
 ifndef::git-rev-list[]
 --bisect::
 
-       Pretend as if the bad bisection ref `$GIT_DIR/refs/bisect/bad`
+       Pretend as if the bad bisection ref `refs/bisect/bad`
        was listed and as if it was followed by `--not` and the good
-       bisection refs `$GIT_DIR/refs/bisect/good-*` on the command
+       bisection refs `refs/bisect/good-*` on the command
        line.
 endif::git-rev-list[]
 
@@ -548,10 +570,10 @@ Bisection Helpers
 
 Limit output to the one commit object which is roughly halfway between
 included and excluded commits. Note that the bad bisection ref
-`$GIT_DIR/refs/bisect/bad` is added to the included commits (if it
-exists) and the good bisection refs `$GIT_DIR/refs/bisect/good-*` are
+`refs/bisect/bad` is added to the included commits (if it
+exists) and the good bisection refs `refs/bisect/good-*` are
 added to the excluded commits (if they exist). Thus, supposing there
-are no refs in `$GIT_DIR/refs/bisect/`, if
+are no refs in `refs/bisect/`, if
 
 -----------------------------------------------------------------------
        $ git rev-list --bisect foo ^bar ^baz
@@ -572,7 +594,7 @@ one.
 --bisect-vars::
 
 This calculates the same as `--bisect`, except that refs in
-`$GIT_DIR/refs/bisect/` are not used, and except that this outputs
+`refs/bisect/` are not used, and except that this outputs
 text ready to be eval'ed by the shell. These lines will assign the
 name of the midpoint revision to the variable `bisect_rev`, and the
 expected number of commits to be tested after `bisect_rev` is tested
@@ -586,7 +608,7 @@ number of commits to be tested if `bisect_rev` turns out to be bad to
 
 This outputs all the commit objects between the included and excluded
 commits, ordered by their distance to the included and excluded
-commits. Refs in `$GIT_DIR/refs/bisect/` are not used. The farthest
+commits. Refs in `refs/bisect/` are not used. The farthest
 from them is displayed first. (This is the only one displayed by
 `--bisect`.)
 +