Re: [PATCH] config.txt: clarify core.checkStat = minimal
From: Junio C Hamano <hidden>
Date: 2018-08-16 22:30:04
Duy Nguyen [off-list ref] writes:
On Thu, Aug 16, 2018 at 7:01 PM Junio C Hamano [off-list ref] wrote:quoted
Nguyễn Thái Ngọc Duy [off-list ref] writes:quoted
The description of this key does not really tell what 'minimal' mode checks exactly. More information about this mode can be found in the commit message of c08e4d5b5c (Enable minimal stat checking - 2013-01-22).While I agree that we need to do _something_, I am not sure if this change adds sufficient value. I _think_ those who wonder if they want to configure this want to know what are _not_ looked at (relative to the "default") more than what are _still_ looked at, partly because the description of "default" is already bogus and says "check all fields", which is horrible for two reasons. It is unclear what are in "all" fields in the first place, and also we do not look at all fields (e.g. we do not look at atime for obvious reasons). So perhaps When this configuration variable is missing or is set to `default`, many fields in the stat structure are checked to detect if a file has been modified since Git looked at it. Among these fields, when this configuration variable is set to `minimal`, sub-second part of mtime and ctime, the uid and gid of the owner of the file, the inode number (and the device number, if Git was compiled to use it), are excluded from the check, leaving only the whole-second part of mtime (and ctime, if `core.trustCtime` is set) and the filesize to be checked. or something?Perfect. I could wrap it in a patch, but I feel you should take authorship for that one. I'll leave it to you to create this commit.
If I find time after today's integration cycle, perhaps I can get to it, but not until then (so the above won't be in today's pushout). Thanks for reading it over.