send-pack: take refspecs over stdin
[gitweb.git] / Documentation / git-update-index.txt
index 670e9fb2c2baa1ce40415d273c08d5b137868432..dfc09d93d85f5ca598447e98327518082c8e1a16 100644 (file)
@@ -12,10 +12,10 @@ SYNOPSIS
 'git update-index'
             [--add] [--remove | --force-remove] [--replace]
             [--refresh] [-q] [--unmerged] [--ignore-missing]
-            [(--cacheinfo <mode> <object> <file>)...]
+            [(--cacheinfo <mode>,<object>,<file>)...]
             [--chmod=(+|-)x]
-            [--assume-unchanged | --no-assume-unchanged]
-            [--skip-worktree | --no-skip-worktree]
+            [--[no-]assume-unchanged]
+            [--[no-]skip-worktree]
             [--ignore-submodules]
             [--really-refresh] [--unresolve] [--again | -g]
             [--info-only] [--index-info]
@@ -68,8 +68,12 @@ OPTIONS
 --ignore-missing::
        Ignores missing files during a --refresh
 
+--cacheinfo <mode>,<object>,<path>::
 --cacheinfo <mode> <object> <path>::
-       Directly insert the specified info into the index.
+       Directly insert the specified info into the index.  For
+       backward compatibility, you can also give these three
+       arguments as three separate parameters, but new users are
+       encouraged to use a single-parameter form.
 
 --index-info::
         Read index information from stdin.
@@ -77,8 +81,7 @@ OPTIONS
 --chmod=(+|-)x::
         Set the execute permissions on the updated files.
 
---assume-unchanged::
---no-assume-unchanged::
+--[no-]assume-unchanged::
        When these flags are specified, the object names recorded
        for the paths are not updated.  Instead, these options
        set and unset the "assume unchanged" bit for the
@@ -102,8 +105,7 @@ you will need to handle the situation manually.
        Like '--refresh', but checks stat information unconditionally,
        without regard to the "assume unchanged" setting.
 
---skip-worktree::
---no-skip-worktree::
+--[no-]skip-worktree::
        When one of these flags is specified, the object name recorded
        for the paths are not updated. Instead, these options
        set and unset the "skip-worktree" bit for the paths. See
@@ -159,6 +161,17 @@ may not support it yet.
        Only meaningful with `--stdin` or `--index-info`; paths are
        separated with NUL character instead of LF.
 
+--split-index::
+--no-split-index::
+       Enable or disable split index mode. If enabled, the index is
+       split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>.
+       Changes are accumulated in $GIT_DIR/index while the shared
+       index file contains all index entries stays unchanged. If
+       split-index mode is already enabled and `--split-index` is
+       given again, all changes in $GIT_DIR/index are pushed back to
+       the shared index file. This mode is designed for very large
+       indexes that take a signficant amount of time to read or write.
+
 \--::
        Do not interpret any more arguments as options.