maintenance: add troubleshooting guide to docs
authorDerrick Stolee <redacted>
Thu, 15 Oct 2020 17:22:04 +0000 (17:22 +0000)
committerJunio C Hamano <redacted>
Fri, 16 Oct 2020 15:36:42 +0000 (08:36 -0700)
commit0016b618182f642771dc589cf0090289f9fe1b4f
treeb91beb5925cd585a0d0c8cd4ba65d7da34786cc6
parent61f7a383d3b9a7306f1fd44a8dfa070deacc0752
maintenance: add troubleshooting guide to docs

The 'git maintenance run' subcommand takes a lock on the object database
to prevent concurrent processes from competing for resources. This is an
important safety measure to prevent possible repository corruption and
data loss.

This feature can lead to confusing behavior if a user is not aware of
it. Add a TROUBLESHOOTING section to the 'git maintenance' builtin
documentation that discusses these tradeoffs. The short version of this
section is that Git will not corrupt your repository, but if the list of
scheduled tasks takes longer than an hour then some scheduled tasks may
be dropped due to this object database collision. For example, a
long-running "daily" task at midnight might prevent an "hourly" task
from running at 1AM.

The opposite is also possible, but less likely as long as the "hourly"
tasks are much faster than the "daily" and "weekly" tasks.

Helped-by: Junio C Hamano <redacted>
Signed-off-by: Derrick Stolee <redacted>
Signed-off-by: Junio C Hamano <redacted>
Documentation/git-maintenance.txt
git clone https://git.99rst.org/PROJECT