X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Fgit-update-index.txt;h=fdcb8bea7dd9bd9c2157a1f7698b31328a387f84;hb=2c4ed386e8861e730037abe4f4d9e032c5c46242;hp=6fa1d980f6144a51b7adc865baa6b1dbf5e753d0;hpb=df8baa42fe4eeb5a021ac262caf601f44d2a5746;p=git.git diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index 6fa1d980..fdcb8bea 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@ -9,18 +9,19 @@ git-update-index - Modifies the index or directory cache SYNOPSIS -------- 'git-update-index' - [--add] [--remove] [--refresh] [--replace] - [--ignore-missing] - [--force-remove] + [--add] [--remove | --force-remove] [--replace] + [--refresh [-q] [--unmerged] [--ignore-missing]] [--cacheinfo ]\* - [--info-only] + [--chmod=(+|-)x] + [--info-only] [--index-info] [-z] [--stdin] + [--verbose] [--] []\* DESCRIPTION ----------- Modifies the index or directory cache. Each file mentioned is updated -into the cache and any 'unmerged' or 'needs updating' state is +into the index and any 'unmerged' or 'needs updating' state is cleared. The way "git-update-index" handles files it is told about can be modified @@ -29,29 +30,45 @@ using the various options: OPTIONS ------- --add:: - If a specified file isn't in the cache already then it's + If a specified file isn't in the index already then it's added. Default behaviour is to ignore new files. --remove:: - If a specified file is in the cache but is missing then it's + If a specified file is in the index but is missing then it's removed. Default behaviour is to ignore removed file. --refresh:: - Looks at the current cache and checks to see if merges or + Looks at the current index and checks to see if merges or updates are needed by checking stat() information. +-q:: + Quiet. If --refresh finds that the index needs an update, the + default behavior is to error out. This option makes + git-update-index continue anyway. + +--unmerged:: + If --refresh finds unmerged changes in the index, the default + behavior is to error out. This option makes git-update-index + continue anyway. + --ignore-missing:: Ignores missing files during a --refresh --cacheinfo :: - Directly insert the specified info into the cache. + Directly insert the specified info into the index. +--index-info:: + Read index information from stdin. + +--chmod=(+|-)x:: + Set the execute permissions on the updated files. + --info-only:: Do not create objects in the object database for all arguments that follow this flag; just insert - their object IDs into the cache. + their object IDs into the index. --force-remove:: Remove the file from the index even when the working directory @@ -70,6 +87,9 @@ OPTIONS read list of paths from the standard input. Paths are separated by LF (i.e. one path per line) by default. +--verbose:: + Report what is being added and removed from index. + -z:: Only meaningful with `--stdin`; paths are separated with NUL character instead of LF. @@ -79,21 +99,21 @@ OPTIONS :: Files to act on. - Note that files begining with '.' are discarded. This includes + Note that files beginning with '.' are discarded. This includes `./file` and `dir/./file`. If you don't want this, then use cleaner names. The same applies to directories ending '/' and paths with '//' Using --refresh --------------- -'--refresh' does not calculate a new sha1 file or bring the cache +'--refresh' does not calculate a new sha1 file or bring the index up-to-date for mode/content changes. But what it *does* do is to -"re-match" the stat information of a file with the cache, so that you -can refresh the cache for a file that hasn't been changed but where +"re-match" the stat information of a file with the index, so that you +can refresh the index for a file that hasn't been changed but where 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. +up the stat index details with the proper files. Using --cacheinfo or --info-only -------------------------------- @@ -121,6 +141,17 @@ To update and refresh only the files already checked out: git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh +Configuration +------------- + +The command honors `core.filemode` configuration variable. If +your repository is on an filesystem whose executable bits are +unreliable, this should be set to 'false'. This causes the +command to ignore differences in file modes recorded in the +index and the file mode on the filesystem if they differ only on +executable bit. On such an unfortunate filesystem, you may +need to use `git-update-index --chmod=`. + Author ------ Written by Linus Torvalds