aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Milanesio <luca.milanesio@gmail.com>2025-07-04 23:50:06 +0100
committerLuca Milanesio <luca.milanesio@gmail.com>2025-07-04 23:50:06 +0100
commit23029d8aede6b5b9fefb408642fc23798d527067 (patch)
tree4692d70fc64e01492ce559159a88a13e04bd4676
parent18ac443a8b8d21bbbc5462945ffe35bdd51b27e3 (diff)
parentc3f354edc72f37cee1d8439c9e060d7f04eede6d (diff)
downloadjgit-stable-7.3.tar.gz
jgit-stable-7.3.zip
Merge branch 'stable-7.2' into stable-7.3stable-7.3
* stable-7.2: Lock reftable auto-refresh to ensure consistency Change-Id: I9219f0fd606b2eb6b9a0632375934f51f1f4c547
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
index 559d5a4339..64f8c9b0e3 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
@@ -264,8 +264,14 @@ public class FileReftableDatabase extends RefDatabase {
public void refresh() {
try {
if (!reftableStack.isUpToDate()) {
- reftableDatabase.clearCache();
- reftableStack.reload();
+ ReentrantLock lock = getLock();
+ lock.lock();
+ try {
+ reftableDatabase.clearCache();
+ reftableStack.reload();
+ } finally {
+ lock.unlock();
+ }
}
} catch (IOException e) {
throw new UncheckedIOException(e);