Add git-update-cache --replace option.
[git.git] / Documentation / core-git.txt
index 1ccae4c..5e702fd 100644 (file)
@@ -241,7 +241,7 @@ Converts old-style GIT repository to the latest.
 
 ################################################################
 git-diff-cache
-       git-diff-cache [-p] [-r] [-z] [--cached] <tree-ish>
+       git-diff-cache [-p] [-r] [-z] [-m] [--cached] <tree-ish>
 
 Compares the content and mode of the blobs found via a tree object
 with the content of the current cache and, optionally ignoring the
@@ -264,6 +264,13 @@ stat state of the file on disk.
 --cached
        do not consider the on-disk file at all
 
+-m
+
+       By default, files recorded in the index but not checked
+       out are reported as deleted.  This flag makes
+       git-diff-cache say that all non-checked-out files are up
+       to date.
+
 Output format:
 
 See "Output format from git-diff-cache, git-diff-tree and git-diff-files"
@@ -352,7 +359,7 @@ special all-zero sha1.
 
 ################################################################
 git-diff-tree
-       git-diff-tree [-p] [-r] [-z] <tree-ish> <tree-ish> [<pattern>]*
+       git-diff-tree [-p] [-r] [-z] [--stdin] [-m] [-s] [-v] <tree-ish> <tree-ish> [<pattern>]*
 
 Compares the content and mode of the blobs found via two tree objects.
 
@@ -378,6 +385,34 @@ Note that git-diff-tree can use the tree encapsulated in a commit object.
 -z
        \0 line termination on output
 
+--stdin
+       When --stdin is specified, the command does not take
+       <tree-ish> arguments from the command line.  Instead, it
+       reads either one <commit> or a pair of <tree-ish>
+       separated with a single space from its standard input.
+
+        When a single commit is given on one line of such input,
+        it compares the commit with its parents.  The following
+        flags further affects its behaviour.  This does not
+        apply to the case where two <tree-ish> separated with a
+        single space are given.
+
+-m
+       By default, "git-diff-tree --stdin" does not show
+       differences for merge commits.  With this flag, it shows
+       differences to that commit from all of its parents.
+
+-s
+       By default, "git-diff-tree --stdin" shows differences,
+       either in machine-readable form (without -p) or in patch
+       form (with -p).  This output can be supressed.  It is
+       only useful with -v flag.
+
+-v
+       This flag causes "git-diff-tree --stdin" to also show
+       the commit message before the differences.
+
+
 Limiting Output
 
 If you're only interested in differences in a subset of files, for
@@ -1063,7 +1098,7 @@ returns the name of the temporary file in the following format:
 ################################################################
 git-update-cache
        git-update-cache
-            [--add] [--remove] [--refresh]
+            [--add] [--remove] [--refresh] [--replace]
             [--ignore-missing]
             [--force-remove <file>]
             [--cacheinfo <mode> <object> <file>]*
@@ -1100,6 +1135,14 @@ using the various options:
        Remove the file from the index even when the working directory
        still has such a file.
 
+--replace
+       By default, when a file "path" exists in the index,
+       git-update-cache refuses an attempt to add "path/file".
+       Similarly if a file "path/file" exists, a file "path"
+       cannot be added.  With --replace flag, existing entries
+       that conflicts with the entry being added are
+       automatically removed with warning messages.
+
 --
        Do not interpret any more arguments as options.