summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2012-08-06 10:43:26 -0700
committerShawn O. Pearce <sop@google.com>2012-08-06 10:43:26 -0700
commitadbb4d2af56f5e327dfa4675320c5c27265abccb (patch)
tree9aab09564208a1f8a760024ec71da2f0b212ff7e
parentcbf3eea58cf24963326a6d88084db0b9342c8ace (diff)
Fix missing ObjectInserter.flush() in ReviewProjectAccess
Some JGit storage backends can't make objects available for reading until after the ObjectInserter's flush() method is invoked. This is already called by the commit() and commitAt() method path, but was missed in the createRef() path used by proposing a change to the access tab of a project. Also disable the reflog here, as the modification is probably going to a refs/changes/ namespace which does not bother with reflogs, as refs are only created and never moved. Change-Id: I769c1b98ab20c23eb496d644d8dcaebe5184e5c1
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/VersionedMetaData.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/VersionedMetaData.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/VersionedMetaData.java
index 44536e2e19..e9c5536750 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/VersionedMetaData.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/VersionedMetaData.java
@@ -254,6 +254,8 @@ public abstract class VersionedMetaData {
RefUpdate ru = db.updateRef(refName);
ru.setExpectedOldObjectId(ObjectId.zeroId());
ru.setNewObjectId(src);
+ ru.disableRefLog();
+ inserter.flush();
RefUpdate.Result result = ru.update();
switch (result) {
case NEW: