Many users misunderstand the --assume-unchanged contract, believing it means Git won't look at the flagged file. Be explicit that the --assume-unchanged contract is by the user that they will NOT change the file so that Git does not need to look (and expend, fore example, lstat(2) cycles) Signed-off-by: Philip Oakley <philipoakley@xxxxxxx> --- Documentation/git-update-index.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index 929869b..c045509 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@ -82,13 +82,14 @@ OPTIONS Set the execute permissions on the updated files. --[no-]assume-unchanged:: - When these flags are specified, the object names recorded + When this flag is specified, the object names recorded for the paths are not updated. Instead, these options set and unset the "assume unchanged" bit for the - paths. When the "assume unchanged" bit is on, Git stops + paths. When the "assume unchanged" bit is on, the user promise + is not to change the file, so Git stops checking the working tree files for possible - modifications, so you need to manually unset the bit to - tell Git when you change the working tree file. This is + modifications, so when you change the working tree file you + need to manually unset the bit to tell Git . This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs). -- 1.9.4.msysgit.0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html