Merge with master.
[gitweb.git] / Documentation / git-update-cache.txt
index 604411d6d79d4178557015bcff52295a18169e60..7340e89c1fe2d0f93d7ed7499e9d1536f05620ad 100644 (file)
@@ -12,8 +12,9 @@ SYNOPSIS
 'git-update-cache'
             [--add] [--remove] [--refresh] [--replace]
             [--ignore-missing]
-            [--force-remove <file>]
+            [--force-remove]
             [--cacheinfo <mode> <object> <file>]\*
+            [--info-only]
             [--] [<file>]\*
 
 DESCRIPTION
@@ -47,9 +48,14 @@ OPTIONS
 --cacheinfo <mode> <object> <path>::
        Directly insert the specified info into the cache.
        
+--info-only::
+       Do not create objects in the object database for all
+       <file> arguments that follow this flag; just insert
+       their object IDs into the cache.
+
 --force-remove::
        Remove the file from the index even when the working directory
-       still has such a file.
+       still has such a file. (Implies --remove.)
 
 --replace::
        By default, when a file `path` exists in the index,
@@ -80,15 +86,27 @@ the stat entry is out of date.
 For example, you'd want to do this after doing a "git-read-tree", to link
 up the stat cache details with the proper files.
 
-Using --cacheinfo
------------------
-'--cacheinfo' is used to register a file that is not in the current
-working directory.  This is useful for minimum-checkout merging.
+Using --cacheinfo or --info-only
+--------------------------------
+'--cacheinfo' is used to register a file that is not in the
+current working directory.  This is useful for minimum-checkout
+merging.
+
+  To pretend you have a file with mode and sha1 at path, say:
 
-To pretend you have a file with mode and sha1 at path, say:
+   $ git-update-cache --cacheinfo mode sha1 path
 
- $ git-update-cache --cacheinfo mode sha1 path
+'--info-only' is used to register files without placing them in the object
+database.  This is useful for status-only repositories.
 
+Both '--cacheinfo' and '--info-only' behave similarly: the index is updated
+but the object database isn't.  '--cacheinfo' is useful when the object is
+in the database but the file isn't available locally.  '--info-only' is
+useful when the file is available, but you do not wish to update the
+object database.
+
+Examples
+--------
 To update and refresh only the files already checked out:
 
    git-checkout-cache -n -f -a && git-update-cache --ignore-missing --refresh