jgit/org.eclipse.jgit
Matthias Sohn 8eee800fb1 Acquire file lock "gc.pid" before running gc
Git guards gc by locking a lock file "gc.pid" before starting execution.
The lock file contains the pid and hostname of the process holding the
lock. Git tries to kill the process holding that lock if the lock file
wasn't modified in the last 12 hours and was started from the same host.

Teach JGit to acquire this lock before running gc but skip execution if
another process already holds the lock. Killing the other process could
be undesired if it's a long running application.

If the lock file wasn't modified in the last 12 hours try to lock it and
run gc if locking succeeds.

Register a shutdown hook for the lock file to ensure it is cleaned up if
the process is gracefully killed.

Change-Id: I00b838dcbf4fb0d03863bf7a2cd86b743c6c6971
2023-02-21 00:18:33 +01:00
..
.settings Silence API errors introduced by 9424052f 2023-02-21 00:18:33 +01:00
META-INF Add missing package import javax.management to org.eclipse.jgit 2022-06-17 13:49:59 +02:00
findBugs [spotbugs] Silence NP_BOOLEAN_RETURN_NULL in IgnoreNode#checkIgnored 2020-12-22 10:52:59 +01:00
resources/org/eclipse/jgit Acquire file lock "gc.pid" before running gc 2023-02-21 00:18:33 +01:00
src/org/eclipse/jgit Acquire file lock "gc.pid" before running gc 2023-02-21 00:18:33 +01:00
.classpath Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
.fbprefs
.gitignore
.project
BUILD Fix stamping to produce stable file timestamps 2020-12-14 15:45:29 +01:00
about.html SHA-1: collision detection support 2017-02-28 16:38:43 -08:00
build.properties
plugin.properties Fix bundle localization of Apache SSH bundle 2019-06-21 17:54:06 +02:00
pom.xml Prepare 5.13.2-SNAPSHOT builds 2022-06-14 00:41:18 +02:00