diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2025-07-04 23:50:06 +0100 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2025-07-04 23:50:06 +0100 |
commit | 23029d8aede6b5b9fefb408642fc23798d527067 (patch) | |
tree | 4692d70fc64e01492ce559159a88a13e04bd4676 | |
parent | 18ac443a8b8d21bbbc5462945ffe35bdd51b27e3 (diff) | |
parent | c3f354edc72f37cee1d8439c9e060d7f04eede6d (diff) | |
download | jgit-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.java | 10 |
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); |