Merge "Improve log if VersionedMetaData fails to update" into stable-3.1
diff --git a/java/com/google/gerrit/server/git/meta/VersionedMetaData.java b/java/com/google/gerrit/server/git/meta/VersionedMetaData.java
index bcd3bea..66482a9 100644
--- a/java/com/google/gerrit/server/git/meta/VersionedMetaData.java
+++ b/java/com/google/gerrit/server/git/meta/VersionedMetaData.java
@@ -27,6 +27,7 @@
import com.google.gerrit.server.logging.TraceContext;
import com.google.gerrit.server.logging.TraceContext.TraceTimer;
import java.io.BufferedReader;
+import java.io.File;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
@@ -416,14 +417,7 @@
update.fireGitRefUpdatedEvent(ru);
return revision;
case LOCK_FAILURE:
- throw new LockFailureException(
- "Cannot update "
- + ru.getName()
- + " in "
- + db.getDirectory()
- + ": "
- + ru.getResult(),
- ru);
+ throw new LockFailureException(errorMsg(ru, db.getDirectory()), ru);
case FORCED:
case IO_FAILURE:
case NOT_ATTEMPTED:
@@ -434,19 +428,18 @@
case REJECTED_MISSING_OBJECT:
case REJECTED_OTHER_REASON:
default:
- throw new GitUpdateFailureException(
- "Cannot update "
- + ru.getName()
- + " in "
- + db.getDirectory()
- + ": "
- + ru.getResult(),
- ru);
+ throw new GitUpdateFailureException(errorMsg(ru, db.getDirectory()), ru);
}
}
};
}
+ private String errorMsg(RefUpdate ru, File location) {
+ return String.format(
+ "Cannot update %s in %s : %s (%s)",
+ ru.getName(), location, ru.getResult(), ru.getRefLogMessage());
+ }
+
protected DirCache readTree(RevTree tree)
throws IOException, MissingObjectException, IncorrectObjectTypeException {
DirCache dc = DirCache.newInCore();