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
This commit is contained in:
Matthias Sohn
2019-08-24 23:33:39 +02:00
committed by David Pursehouse
parent 0d8c6d427e
commit 068dc28e19
3 changed files with 31 additions and 5 deletions

View File

@@ -34,9 +34,12 @@ import com.google.gerrit.testing.ConfigSuite;
import com.google.inject.Injector; import com.google.inject.Injector;
import com.google.inject.Module; import com.google.inject.Module;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader; import org.eclipse.jgit.util.SystemReader;
@@ -169,6 +172,16 @@ public abstract class StandaloneSiteTest {
public int getTimezone(long when) { public int getTimezone(long when) {
return oldSystemReader.getTimezone(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; return oldSystemReader;
} }

View File

@@ -15,10 +15,13 @@
package com.google.gerrit.server.util.time; package com.google.gerrit.server.util.time;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import java.io.IOException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.Instant; import java.time.Instant;
import java.util.function.LongSupplier; import java.util.function.LongSupplier;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader; import org.eclipse.jgit.util.SystemReader;
@@ -104,6 +107,16 @@ public class TimeUtil {
public int getTimezone(long when) { public int getTimezone(long when) {
return delegate.getTimezone(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() {} private TimeUtil() {}

View File

@@ -1,6 +1,6 @@
load("//tools/bzl:maven_jar.bzl", "MAVEN_CENTRAL", "maven_jar") 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 _DOC_VERS = _JGIT_VERS # Set to _JGIT_VERS unless using a snapshot
@@ -40,25 +40,25 @@ def jgit_maven_repos():
name = "jgit-lib", name = "jgit-lib",
artifact = "org.eclipse.jgit:org.eclipse.jgit:" + _JGIT_VERS, artifact = "org.eclipse.jgit:org.eclipse.jgit:" + _JGIT_VERS,
repository = _JGIT_REPO, repository = _JGIT_REPO,
sha1 = "dba85014483315fa426259bc1b8ccda9373a624b", sha1 = "9946eb0d678c964e3625f0e1a7e1b6570f8cd3b2",
) )
maven_jar( maven_jar(
name = "jgit-servlet", name = "jgit-servlet",
artifact = "org.eclipse.jgit:org.eclipse.jgit.http.server:" + _JGIT_VERS, artifact = "org.eclipse.jgit:org.eclipse.jgit.http.server:" + _JGIT_VERS,
repository = _JGIT_REPO, repository = _JGIT_REPO,
sha1 = "3287341fca859340a00b51cb5dd3b78b8e532b39", sha1 = "72a27084a3d94259a4db9cdd5d5216f336cd5ada",
) )
maven_jar( maven_jar(
name = "jgit-archive", name = "jgit-archive",
artifact = "org.eclipse.jgit:org.eclipse.jgit.archive:" + _JGIT_VERS, artifact = "org.eclipse.jgit:org.eclipse.jgit.archive:" + _JGIT_VERS,
repository = _JGIT_REPO, repository = _JGIT_REPO,
sha1 = "3585027e83fb44a5de2c10ae9ddbf976593bf080", sha1 = "6c172f339a0e3b8ec41f1110c633e0f95fb50366",
) )
maven_jar( maven_jar(
name = "jgit-junit", name = "jgit-junit",
artifact = "org.eclipse.jgit:org.eclipse.jgit.junit:" + _JGIT_VERS, artifact = "org.eclipse.jgit:org.eclipse.jgit.junit:" + _JGIT_VERS,
repository = _JGIT_REPO, repository = _JGIT_REPO,
sha1 = "3d9ba7e610d6ab5d08dcb1e4ba448b592a34de77", sha1 = "0a0cecab312275f1a9a5d6a051db71158b4b22c7",
) )
def jgit_dep(name): def jgit_dep(name):