X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Fgit-checkout-index.txt;h=b0b65889ac5e91661e9a68161dda1bb9660c0bb5;hb=061ad5f4de16b4997f1de962dc4512546c62fe53;hp=2a1e526c6a1a92ea81a14b171ac8200890277fd1;hpb=5df466c507ee2dd81c2e9002c3fedf3536cde0dc;p=git.git diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt index 2a1e526c..b0b65889 100644 --- a/Documentation/git-checkout-index.txt +++ b/Documentation/git-checkout-index.txt @@ -10,7 +10,9 @@ SYNOPSIS -------- [verse] 'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=] - [--stage=] [--] ... + [--stage=] + [-z] [--stdin] + [--] []\* DESCRIPTION ----------- @@ -45,6 +47,15 @@ OPTIONS Instead of checking out unmerged entries, copy out the files from named stage. must be between 1 and 3. +--stdin:: + Instead of taking list of paths from the command line, + read list of paths from the standard input. Paths are + separated by LF (i.e. one path per line) by default. + +-z:: + Only meaningful with `--stdin`; paths are separated with + NUL character instead of LF. + --:: Do not interpret any more arguments as options. @@ -64,7 +75,12 @@ $ find . -name '*.h' -print0 | xargs -0 git-checkout-index -f -- which will force all existing `*.h` files to be replaced with their cached copies. If an empty command line implied "all", then this would -force-refresh everything in the index, which was not the point. +force-refresh everything in the index, which was not the point. But +since git-checkout-index accepts --stdin it would be faster to use: + +---------------- +$ find . -name '*.h' -print0 | git-checkout-index -f -z --stdin +---------------- The `--` is just a good idea when you know the rest will be filenames; it will prevent problems with a filename of, for example, `-a`.