On Thursday 21 September 2017 10:02 AM, Jeff King wrote: > Some tools like IDEs or fancy editors may periodically run > commands like "git status" in the background to keep track > of the state of the repository. I might be missing something, shouldn't the IDEs be encouraged to use libgit2 instead? I thought it was meant for these use cases. Note: I assume getting the status through libgit2 doesn't create an index.lock file. > 3. Ask "status" not to lock or write the index. > > This is easy to implement. The big downside is that any > work done in refreshing the index for such a call is > lost when the process exits. So a background process > may end up re-hashing a changed file multiple times > until the user runs a command that does an index > refresh themselves. > > This patch implements the option 3. So, if I get that correctly "git status --no-optional-locks" is a way to get the "current" status without updating the on disk index file? > +`GIT_OPTIONAL_LOCKS`:: > + If set to `0`, Git will avoid performing any operations which > + require taking a lock and which are not required to complete the > + requested operation. The above sentence seems to be a little hard to interpret. How about, If set to `0`, Git will complete the requested operation without performing the optional sub-operations that require taking a lock. --- Kaartic