From 068dc28e195e8f437ac5c972a6cf16da10607dae Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Sat, 24 Aug 2019 23:33:39 +0200 Subject: [PATCH] Upgrade JGit to 5.3.4.201908231101-r Improvements in 5.3.4: - measure FileStoreAttributes per filesystem - improve measuring file timestamp resolution - measure minimal racy interval - use Instant to increase resolution to 1us (limited by FileTime) - persist FileStoreAttributes - optional asynchronous measurement of FileStoreAttributes - directory - FileStore cache - cache user and system level gitconfig - fix supportsAtomicCreateNewFile default to true - fix non-deterministic hash of archives created by ArchiveCommand Release notes: https://projects.eclipse.org/projects/technology.jgit/releases/5.3.4 Change-Id: I6771cdccd1d27dd5886d2f75e6c906448e1bed59 --- .../gerrit/acceptance/StandaloneSiteTest.java | 13 +++++++++++++ .../google/gerrit/server/util/time/TimeUtil.java | 13 +++++++++++++ lib/jgit/jgit.bzl | 10 +++++----- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/java/com/google/gerrit/acceptance/StandaloneSiteTest.java b/java/com/google/gerrit/acceptance/StandaloneSiteTest.java index 29d0b35fb3..cc289ff7f5 100644 --- a/java/com/google/gerrit/acceptance/StandaloneSiteTest.java +++ b/java/com/google/gerrit/acceptance/StandaloneSiteTest.java @@ -34,9 +34,12 @@ import com.google.gerrit.testing.ConfigSuite; import com.google.inject.Injector; import com.google.inject.Module; import java.io.File; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; +import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.Config; +import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.SystemReader; @@ -169,6 +172,16 @@ public abstract class StandaloneSiteTest { public int getTimezone(long when) { return oldSystemReader.getTimezone(when); } + + @Override + public StoredConfig getUserConfig() throws IOException, ConfigInvalidException { + return oldSystemReader.getUserConfig(); + } + + @Override + public StoredConfig getSystemConfig() throws IOException, ConfigInvalidException { + return oldSystemReader.getSystemConfig(); + } }); return oldSystemReader; } diff --git a/java/com/google/gerrit/server/util/time/TimeUtil.java b/java/com/google/gerrit/server/util/time/TimeUtil.java index 645dbb92f8..2a61085fc3 100644 --- a/java/com/google/gerrit/server/util/time/TimeUtil.java +++ b/java/com/google/gerrit/server/util/time/TimeUtil.java @@ -15,10 +15,13 @@ package com.google.gerrit.server.util.time; import com.google.common.annotations.VisibleForTesting; +import java.io.IOException; import java.sql.Timestamp; import java.time.Instant; import java.util.function.LongSupplier; +import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.Config; +import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.SystemReader; @@ -104,6 +107,16 @@ public class TimeUtil { public int getTimezone(long when) { return delegate.getTimezone(when); } + + @Override + public StoredConfig getUserConfig() throws IOException, ConfigInvalidException { + return delegate.getUserConfig(); + } + + @Override + public StoredConfig getSystemConfig() throws IOException, ConfigInvalidException { + return delegate.getSystemConfig(); + } } private TimeUtil() {} diff --git a/lib/jgit/jgit.bzl b/lib/jgit/jgit.bzl index 0f52913d16..340c554151 100644 --- a/lib/jgit/jgit.bzl +++ b/lib/jgit/jgit.bzl @@ -1,6 +1,6 @@ load("//tools/bzl:maven_jar.bzl", "MAVEN_CENTRAL", "maven_jar") -_JGIT_VERS = "5.3.1.201904271842-r" +_JGIT_VERS = "5.3.4.201908231101-r" _DOC_VERS = _JGIT_VERS # Set to _JGIT_VERS unless using a snapshot @@ -40,25 +40,25 @@ def jgit_maven_repos(): name = "jgit-lib", artifact = "org.eclipse.jgit:org.eclipse.jgit:" + _JGIT_VERS, repository = _JGIT_REPO, - sha1 = "dba85014483315fa426259bc1b8ccda9373a624b", + sha1 = "9946eb0d678c964e3625f0e1a7e1b6570f8cd3b2", ) maven_jar( name = "jgit-servlet", artifact = "org.eclipse.jgit:org.eclipse.jgit.http.server:" + _JGIT_VERS, repository = _JGIT_REPO, - sha1 = "3287341fca859340a00b51cb5dd3b78b8e532b39", + sha1 = "72a27084a3d94259a4db9cdd5d5216f336cd5ada", ) maven_jar( name = "jgit-archive", artifact = "org.eclipse.jgit:org.eclipse.jgit.archive:" + _JGIT_VERS, repository = _JGIT_REPO, - sha1 = "3585027e83fb44a5de2c10ae9ddbf976593bf080", + sha1 = "6c172f339a0e3b8ec41f1110c633e0f95fb50366", ) maven_jar( name = "jgit-junit", artifact = "org.eclipse.jgit:org.eclipse.jgit.junit:" + _JGIT_VERS, repository = _JGIT_REPO, - sha1 = "3d9ba7e610d6ab5d08dcb1e4ba448b592a34de77", + sha1 = "0a0cecab312275f1a9a5d6a051db71158b4b22c7", ) def jgit_dep(name):