]> source.dussan.org Git - jgit.git/log
jgit.git
4 years agoMerge "Include org.apache.commons.codec 1.13 in the JGit http.apache.feature"
David Pursehouse [Wed, 5 Feb 2020 00:34:42 +0000 (19:34 -0500)]
Merge "Include org.apache.commons.codec 1.13 in the JGit http.apache.feature"

4 years agoUpgrade maven-pmd-plugin to 3.13.0 31/157131/1
David Pursehouse [Tue, 4 Feb 2020 09:54:23 +0000 (18:54 +0900)]
Upgrade maven-pmd-plugin to 3.13.0

Change-Id: I6e20b77db743cd8578aa1f8688f893b746e861d1
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoInclude org.apache.commons.codec 1.13 in the JGit http.apache.feature 30/157030/1
Thomas Wolf [Sun, 2 Feb 2020 21:28:22 +0000 (22:28 +0100)]
Include org.apache.commons.codec 1.13 in the JGit http.apache.feature

We do include httpcomponents.httpclient, but that depends on
commons.codec. By including it here we can ensure that the version
needed is indeed available.

Bug: 559735
Change-Id: I16ef830cfe4f8e3b8a8ca08476fd655f41eee51b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
4 years agoUpdate Maven plugins 11/157011/2
Matthias Sohn [Sat, 1 Feb 2020 15:48:41 +0000 (16:48 +0100)]
Update Maven plugins

- maven-surefire-plugin to 3.0.0-M4
- japicmp-maven-plugin to 0.14.3

Change-Id: I9191620825e15b03a58c41cf3d3e64c6a58faf0f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAmazonS3: Speed up fetch, try recent packs first 84/156984/5
Joshua Redstone [Fri, 31 Jan 2020 19:14:42 +0000 (13:14 -0600)]
AmazonS3: Speed up fetch, try recent packs first

When fetching remote objects, WalkFetchConnection searches remote
packs in the order provided by WalkRemoteObjectDatabase:getPackNames.
Previously, for TransportAmazonS3, the packs were in no particular
order. This resulted in potential many extra calls to get pack idx
files.

This change modifies TransportAmazonS3 and AmazonS3 so that
getPackNames returns a list sorted with the most recently modified
packs first.  In the case of fetching recent changes to a repo,
this dramatically reduces the number of packs searched and speeds
up fetch.

Note: WalkRemoteObjectDatabase::getPackNames does not specify
the order of the returned names.

Testing: did "mvn clean install" in root dir and all tests passed.
And manually constructed some S3 repos and using jgit.sh
confirmed that the freshest pack was checked first.

Change-Id: I3b968fee825e793be55566e28c2d69d0cbe53807
Signed-off-by: Joshua Redstone <redstone@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.7' 00/157000/1
Matthias Sohn [Sat, 1 Feb 2020 01:17:49 +0000 (02:17 +0100)]
Merge branch 'stable-5.7'

* stable-5.7:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I0538bcba259f7229790a602ac9de120464a1260d

4 years agoMerge branch 'stable-5.6' into stable-5.7 99/156999/1
Matthias Sohn [Sat, 1 Feb 2020 01:09:37 +0000 (02:09 +0100)]
Merge branch 'stable-5.6' into stable-5.7

* stable-5.6:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I79d615dff66493b60d3a4bcbdc57b9455e8d6673

4 years agoMerge branch 'stable-5.5' into stable-5.6 98/156998/1
Matthias Sohn [Sat, 1 Feb 2020 00:57:03 +0000 (01:57 +0100)]
Merge branch 'stable-5.5' into stable-5.6

* stable-5.5:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I73d16b53df02bf735c2431588143efe225a4b5b4

4 years agoMerge branch 'stable-5.4' into stable-5.5 97/156997/1
Matthias Sohn [Sat, 1 Feb 2020 00:41:52 +0000 (01:41 +0100)]
Merge branch 'stable-5.4' into stable-5.5

* stable-5.4:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I76a62da98182f0c504b1ea8b7d37cecdf4eea7e0

4 years agoMerge branch 'stable-5.3' into stable-5.4 96/156996/1
Matthias Sohn [Sat, 1 Feb 2020 00:28:40 +0000 (01:28 +0100)]
Merge branch 'stable-5.3' into stable-5.4

* stable-5.3:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I12002dbfed9dff14fc6d2df9787d92eab5b1fa78

4 years agoMerge branch 'stable-5.2' into stable-5.3 95/156995/1
Matthias Sohn [Sat, 1 Feb 2020 00:14:01 +0000 (01:14 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I790098be00ff3f9b8278d54ae4fb7c11311816e9

4 years agoMerge branch 'stable-5.1' into stable-5.2 19/156919/2
David Pursehouse [Fri, 31 Jan 2020 00:12:08 +0000 (09:12 +0900)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Fix string format parameter for invalidRefAdvertisementLine
  WindowCache: add metric for cached bytes per repository
  pgm daemon: fallback to user and system config if no config specified
  WindowCache: add option to use strong refs to reference ByteWindows

Change-Id: I741059a1d0d5950ab5bc16ec70352655ee926a24
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix string format parameter for invalidRefAdvertisementLine 18/156918/1
David Pursehouse [Thu, 30 Jan 2020 23:38:24 +0000 (08:38 +0900)]
Fix string format parameter for invalidRefAdvertisementLine

The externalized error message added in f4fc640 ("BasePackConnection:
Check for expected length of ref advertisement", Dec 18, 2019) uses a
malformed string format. Since there is only one formatting argument,
it should be referenced with '{0}' rather than '{1}'.

Change-Id: Ibda864dfb0bb902fe07ae4bba73117b212046e8a
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoUpdate orbit to S20200128200239 for 2020-03 M2 00/156800/1
Matthias Sohn [Wed, 29 Jan 2020 09:19:25 +0000 (10:19 +0100)]
Update orbit to S20200128200239 for 2020-03 M2

- update org.junit to 4.13.0.v20200128-1312

Change-Id: Iaf4010f1d33635e5c69688874669d540e056b287
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoWindowCache: add metric for cached bytes per repository 73/155173/7
Matthias Sohn [Fri, 3 Jan 2020 17:16:42 +0000 (18:16 +0100)]
WindowCache: add metric for cached bytes per repository

Since ObjectDatabase and PackFile don't know their repository use the
packfile's grand-grand-parent directory as an identifier for the
repository the packfile resides in.

Remove metric for a repository if the number of cached bytes for the
repository drops to 0 in order to ensure the map of cached bytes per
repository doesn't contain repositories which have no data cached in the
WindowCache.

Change-Id: I969ab8029db0a292e7585cbb36ca0baa797da20b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agopgm daemon: fallback to user and system config if no config specified 83/156683/2
Matthias Sohn [Mon, 27 Jan 2020 22:00:57 +0000 (23:00 +0100)]
pgm daemon: fallback to user and system config if no config specified

If a config file is passed via option --config-file then use only the
options defined in that file. This helps to concisely configure the
daemon without side effects from global and system level git configs.

Otherwise fallback to user and system level configs.

Change-Id: I242de248f257579874ad0bfe4882a22502353b1f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFS: re-order fields and use all uppercase for true constants 56/156656/2
Thomas Wolf [Mon, 27 Jan 2020 16:01:27 +0000 (17:01 +0100)]
FS: re-order fields and use all uppercase for true constants

Change-Id: I49fb77d6a12ae9083b5bf5779dc74a3dc49d7594
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
4 years agoFS: Don't use innocuous threads for CompletableFuture 91/153691/8
Alex Jitianu [Tue, 3 Dec 2019 09:21:13 +0000 (09:21 +0000)]
FS: Don't use innocuous threads for CompletableFuture

The default threads from the ForkJoinPool run without any privileges
when a SecurityManager is installed, leading to SecurityExceptions
when trying to create the probe file even if the application otherwise
has write privileges in the directory.

Use a dedicated ThreadPoolExecutor using daemon threads instead.

Bug: 551690
Change-Id: Id5376f09f0d7da5ceea367e1f0dfc70f823d62d3
Signed-off-by: Alex Jitianu <alex_jitianu@sync.ro>
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
4 years agoErrorProne: Enable and fix UnusedException check 96/156596/2
David Pursehouse [Mon, 27 Jan 2020 00:47:05 +0000 (09:47 +0900)]
ErrorProne: Enable and fix UnusedException check

Enable UnusedException at ERROR level which causes the build to fail
in many places with:

  [UnusedException] This catch block catches an symbol and re-throws
  another, but swallows the caught symbol rather than setting it as a
  cause. This can make debugging harder.

Fix it by setting the caught exception as cause on the subsequently
thrown exception.

Note: The grammatically incorrect error message is copy-pasted as-is
from the version of ErrorProne currently used in Bazel; it has been
fixed by [1] in the latest version.

[1] https://github.com/google/error-prone/commit/d57a39c

Change-Id: I11ed38243091fc12f64f1b2db404ba3f1d2e98b5
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate Orbit to I20200126235943 and org.junit to 4.13.0.v20200126-2018 94/156594/2
Matthias Sohn [Mon, 27 Jan 2020 00:46:19 +0000 (01:46 +0100)]
Update Orbit to I20200126235943 and org.junit to 4.13.0.v20200126-2018

Change-Id: I2eb4d34512d169aa7ec9b6437b49c6a43b4a8e38
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix SshSessionFactory#setInstance to use service loader 87/156587/2
Matthias Sohn [Sun, 26 Jan 2020 19:26:01 +0000 (20:26 +0100)]
Fix SshSessionFactory#setInstance to use service loader

If setInstance(SshSessionFactory) is called with parameter null
set default session factory using the newly introduced service loader
instead of hard-coding the default factory class.

Change-Id: I86b5932333cc53b706534a2822e0fd96e12e6e47
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUse ServiceLoader to define the default SSH session factory. 82/155782/3
Emmanuel Hugonnet [Mon, 13 Jan 2020 14:45:55 +0000 (15:45 +0100)]
Use ServiceLoader to define the default SSH session factory.

Use ServiceLoader and define
org.eclipse.jgit.transport.DefaultSshSessionFactory in
META-INF/services/org.eclipse.jgit.transport.SshSessionFactory so that
the legacy behavior is still the same.

Bug: 553625
Change-Id: Id1a65506140d921ed76d83699e3817f0d2ca08ed
Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove Error-Prone ExpectedExceptionChecker 94/156494/1
David Pursehouse [Fri, 24 Jan 2020 07:49:14 +0000 (16:49 +0900)]
Remove Error-Prone ExpectedExceptionChecker

The checker only checks for misuse of ExpectedException. Since we've
moved to JUnit 4.13 and assertThrows, ExpectedException won't be used
at all, so now we can get rid of that setting.

Change-Id: Ia9189936ae215110f1f5fc6459c5dbc944404ade
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoReceivePack: enable overriding filterCommands and executeCommands 38/156038/4
Matthias Sohn [Fri, 10 Jan 2020 23:26:35 +0000 (00:26 +0100)]
ReceivePack: enable overriding filterCommands and executeCommands

Change-Id: Ib923e137f0fadd876434bcc49ebd0c9a4d90b45c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReplace ExpectedException which was deprecated in junit 4.13 65/156365/5
Matthias Sohn [Tue, 21 Jan 2020 23:48:24 +0000 (00:48 +0100)]
Replace ExpectedException which was deprecated in junit 4.13

Change-Id: I64b0c057dd0a12aef2f3d56fa0c8a10e3b23fffd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd org.assertj 3.14.0.v20200120-1926 to target platform 86/156386/3
Matthias Sohn [Wed, 22 Jan 2020 23:49:35 +0000 (00:49 +0100)]
Add org.assertj 3.14.0.v20200120-1926 to target platform

This will be used by JGit based NIO2 filesystem implementation in
Ic8712a091e3941634c80b19ba0e316d9c98dae3e.

CQ: 21437
Change-Id: I64f8415826e95bff7cf93e7fd28e00f0809b500c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReplace deprecated junit assertion methods with hamcrest 64/156364/2
Matthias Sohn [Tue, 21 Jan 2020 16:50:57 +0000 (17:50 +0100)]
Replace deprecated junit assertion methods with hamcrest

Change-Id: Icebe8071eeefbc13d3bdbc231c568209cdc26195
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate to Orbit I20200120214610 and JUnit to 4.13 13/155913/3
David Pursehouse [Tue, 21 Jan 2020 16:27:59 +0000 (17:27 +0100)]
Update to Orbit I20200120214610 and JUnit to 4.13

Since version 4.13 JUnit has an assertThrows method. Remove the
implementation in MoreAsserts and use the one from JUnit.

CQ: 21439
Change-Id: I086baa94aa3069cebe87c4cbf91ed1534523c6cb
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate to Tycho 1.6.0 13/156213/2
Michael Keppler [Mon, 20 Jan 2020 18:07:48 +0000 (19:07 +0100)]
Update to Tycho 1.6.0

Not many changes, but might lead to shorter build times.

Change-Id: I5d629e49e8bbdef7a5b116d4f28cdbf8a8528cf0
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoWindowCache: add option to use strong refs to reference ByteWindows 49/155149/5
Matthias Sohn [Fri, 13 Dec 2019 00:18:12 +0000 (01:18 +0100)]
WindowCache: add option to use strong refs to reference ByteWindows

Java GC evicts all SoftReferences when the used heap size comes close to
the maximum heap size. This means peaks in heap memory consumption can
flush the complete WindowCache which was observed to have negative
impact on performance of upload-pack in Gerrit.

Hence add a boolean option core.packedGitUseStrongRefs to allow using
strong references to reference packfile pages cached in the WindowCache.

If this option is set to true Java gc can no longer flush the
WindowCache to free memory if the used heap comes close to the maximum
heap size. On the other hand this provides more predictable performance.

Bug: 553573
Change-Id: I9de406293087ab0fa61130c8e0829775762ece8d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoExtract method refactoring in class DirCacheCheckout 70/155670/7
Andre Bossert [Sun, 12 Jan 2020 16:44:23 +0000 (17:44 +0100)]
Extract method refactoring in class DirCacheCheckout

* added new public method getContent()
* changed checkoutEntry() to use the new getContent() method
* changed runExternalFilterCommand() parameter "entry" to "path" to be
independent from DirCacheEntry type
* removed runExternalFilterCommand() parameter "fs" as it can be derived
from repo

Bug: 356832
Change-Id: If8991b74870e0d8728093e98a990f93f1871b76a
Signed-off-by: Andre Bossert <andre.bossert@siemens.com>
4 years agoMerge branch 'stable-5.1' into stable-5.2 12/155912/2
David Pursehouse [Wed, 15 Jan 2020 11:03:28 +0000 (20:03 +0900)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Replace usage of ArrayIndexOutOfBoundsException in treewalk
  Add config constants for WindowCache configuration options

Change-Id: I17da3c5183eca536aa2be3972bc5df45c9d75f1b
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate Orbit to I20200115225246 and update dependencies 03/156003/1
Matthias Sohn [Thu, 16 Jan 2020 00:54:38 +0000 (01:54 +0100)]
Update Orbit to I20200115225246 and update dependencies

update
- javaewah to 1.1.7.v20200107-0831
- org.apache.commons.codec to 1.13.0.v20200108-0001
- org.apache.commons.compress to 1.19.0.v20200106-2343
- org.apache.httpcomponents.httpclient to 4.5.10.v20200114-1512
- org.apache.httpcomponents.httpcore to 4.4.12.v20200108-1212

CQ: 21194
CQ: 21195
CQ: 21199
CQ: 21346
CQ: 21347
Change-Id: I1943f1c3bf1bb5d71b666cb6aea6083e80ff82dc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate bazlets and bazel version 02/156002/1
Matthias Sohn [Thu, 16 Jan 2020 12:07:20 +0000 (13:07 +0100)]
Update bazlets and bazel version

- bazlets need to be updated to react on Maven central no longer
supporting http protocol but only https
- update bazel to 2.0

Change-Id: I07f5f050f3b1db2014a5198a28b6bbf893434814
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.7' 70/155970/1
Matthias Sohn [Wed, 15 Jan 2020 23:58:04 +0000 (00:58 +0100)]
Merge branch 'stable-5.7'

* stable-5.7:
  Prepare 5.7.0-SNAPSHOT builds
  JGit v5.7.0.202001151323-m1

Change-Id: Ic4294957bdf409e4bfcb104132e724e7e5c4843e

4 years agoPrepare 5.7.0-SNAPSHOT builds 64/155964/1
Matthias Sohn [Wed, 15 Jan 2020 21:15:27 +0000 (22:15 +0100)]
Prepare 5.7.0-SNAPSHOT builds

Change-Id: I106098e85db05bb0142f9fb406e3aef3cf0238b4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoJGit v5.7.0.202001151323-m1 42/155942/1 v5.7.0.202001151323-m1
Matthias Sohn [Wed, 15 Jan 2020 18:22:36 +0000 (19:22 +0100)]
JGit v5.7.0.202001151323-m1

Change-Id: I7701bee6f05d66012c59092126eb4d52f828dc24
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpgrade jetty to 9.4.25.v20191220 21/155921/1
Matthias Sohn [Wed, 15 Jan 2020 15:14:17 +0000 (16:14 +0100)]
Upgrade jetty to 9.4.25.v20191220

Change-Id: I6a14c2beec3075eac5807cd639f55f38ae8c9c49
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd ReftableNumbersNotIncreasingException#toString 82/155882/2
Han-Wen Nienhuys [Tue, 14 Jan 2020 19:13:48 +0000 (20:13 +0100)]
Add ReftableNumbersNotIncreasingException#toString

Change-Id: I28b6a6476df185f3f98f8020408b4b120086cb0b
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReplace usage of ArrayIndexOutOfBoundsException in treewalk 32/155532/3
Patrick Hiesel [Thu, 9 Jan 2020 09:23:12 +0000 (10:23 +0100)]
Replace usage of ArrayIndexOutOfBoundsException in treewalk

Using exceptions during normal operations - for example with the
desire of expanding an array in the failure case - can have a
severe performance impact. When exceptions are instantiated,
a stack trace is collected. Generating stack trace can be expensive.

Compared to that, checking an array for length - even if done many
times - is cheap since this is a check that can run in just a
handful of CPU cycles.

Change-Id: Ifaf10623f6a876c9faecfa44654c9296315adfcb
Signed-off-by: Patrick Hiesel <hiesel@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMove ConnectivityChecker to fix API leak 58/155558/1
Matthias Sohn [Thu, 9 Jan 2020 17:06:05 +0000 (18:06 +0100)]
Move ConnectivityChecker to fix API leak

Protected field ReceivePack.connectivityChecker is of type
ConnectivityChecker which was located in internal package
org.eclipse.jgit.transport and was thus leaking an internal type.

In order to fix this move ConnectivityChecker to package
org.eclipse.jgit.transport.

Change-Id: Idc0af75502faf39f13a56157bbb6964d24720eb8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.6' 53/155553/1
Matthias Sohn [Thu, 9 Jan 2020 15:50:13 +0000 (16:50 +0100)]
Merge branch 'stable-5.6'

* stable-5.6:
  Fix API problem filters
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: I4a77c602bfffed60535d0b8fc251a552b128068d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.5' into stable-5.6 51/155551/1
Matthias Sohn [Thu, 9 Jan 2020 12:14:38 +0000 (13:14 +0100)]
Merge branch 'stable-5.5' into stable-5.6

* stable-5.5:
  Fix API problem filters
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: I11f9a387ac3dc7d22a4f2e70bb8d89169b4e9afe
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.4' into stable-5.5 38/155538/1
Matthias Sohn [Thu, 9 Jan 2020 11:32:03 +0000 (12:32 +0100)]
Merge branch 'stable-5.4' into stable-5.5

* stable-5.4:
  Fix API problem filters
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: I78902d5feecb2c09134b64ec2f3b48b2c3bab37d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.3' into stable-5.4 36/155536/1
Matthias Sohn [Thu, 9 Jan 2020 10:38:28 +0000 (11:38 +0100)]
Merge branch 'stable-5.3' into stable-5.4

* stable-5.3:
  Fix API problem filters
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: I1b560b36d169cfa02cc5450ad0fa0bd85f9f42d8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.2' into stable-5.3 24/155524/1
Matthias Sohn [Thu, 9 Jan 2020 01:19:03 +0000 (02:19 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Fix API problem filters
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: I67a07d92718188bdf7f8a13b83e9f538ecf4b22f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.1' into stable-5.2 23/155523/1
Matthias Sohn [Thu, 9 Jan 2020 01:03:45 +0000 (02:03 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Fix unclosed resource warning in SmartOutputStream
  JschConfigSessionFactory: fix boxing warning
  SshSupport#runSshCommand: don't throw exception in finally block
  Don't override already managed maven-compiler-plugin version
  Remove unused import from CreateFileSnapshotBenchmark
  Remove duplicate ignore_optional_problems entry in .classpath
  Update maven-site-plugin used by benchmark module to 3.8.2
  Add dependency to enable site generation for benchmark module
  Ignore warnings for generated source code in
org.eclipse.jgit.benchmark
  Fix MBean registration
  Enhance WindowCache statistics

Change-Id: Ic90aacf1ea40e13dc564d4d659e79535e86d0300
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix API problem filters 22/155522/1
Matthias Sohn [Sat, 4 Jan 2020 12:01:39 +0000 (13:01 +0100)]
Fix API problem filters

Change-Id: Icc78570f949ad64beb58caa192c829e536aa8dad
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd config constants for WindowCache configuration options 48/155148/2
Matthias Sohn [Thu, 2 Jan 2020 23:52:37 +0000 (00:52 +0100)]
Add config constants for WindowCache configuration options

Change-Id: Icc5265f87ae58aa1e667ed1827075c4a30f75c32
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix unclosed resource warning in SmartOutputStream 12/155212/2
Matthias Sohn [Sat, 4 Jan 2020 16:03:52 +0000 (17:03 +0100)]
Fix unclosed resource warning in SmartOutputStream

Change-Id: Ia4b96ae1c2cc9357802487384ee32a80ed40334b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoJschConfigSessionFactory: fix boxing warning 11/155211/2
Matthias Sohn [Sat, 4 Jan 2020 15:06:54 +0000 (16:06 +0100)]
JschConfigSessionFactory: fix boxing warning

Change-Id: I1735033c56b444a9a7160cb7df89292a228d5b34
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoSshSupport#runSshCommand: don't throw exception in finally block 10/155210/2
Matthias Sohn [Sat, 4 Jan 2020 14:44:19 +0000 (15:44 +0100)]
SshSupport#runSshCommand: don't throw exception in finally block

The CommandFailedException which was thrown in finally block is silently
discarded [1]. Refactor this method to throw the exception after the
finally block.

This fixes the warning "Null comparison always yields false: The
variable failure can only be null at this location".

[1] https://wiki.sei.cmu.edu/confluence/display/java/ERR04-J.+Do+not+complete+abruptly+from+a+finally+block
https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.20.2

Change-Id: Idbfc303d9c9046ab9a43e0d4c6d65d325bdaf0ed
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove no longer used API problem filter 48/155248/1
Matthias Sohn [Sun, 5 Jan 2020 21:06:06 +0000 (22:06 +0100)]
Remove no longer used API problem filter

Change-Id: I29e7af25bad5282c6b09e4688bdcf23e22a0648f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoDon't override already managed maven-compiler-plugin version 09/155209/1
Matthias Sohn [Sat, 4 Jan 2020 12:15:37 +0000 (13:15 +0100)]
Don't override already managed maven-compiler-plugin version

Change-Id: Ie2cb178cf8d805aadc76a2096bcdde95a146d07c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove unused import from CreateFileSnapshotBenchmark 08/155208/1
Matthias Sohn [Sat, 4 Jan 2020 12:11:06 +0000 (13:11 +0100)]
Remove unused import from CreateFileSnapshotBenchmark

Change-Id: Iad0bcc01ada4252e9ab4f60d4375f98f084f6a5f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove duplicate ignore_optional_problems entry in .classpath 07/155207/1
Matthias Sohn [Sat, 4 Jan 2020 12:10:00 +0000 (13:10 +0100)]
Remove duplicate ignore_optional_problems entry in .classpath

Change-Id: I326377c90af59ecaada7f5185a638726a8e909b7
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove duplicate copyright statements 91/155191/1
Matthias Sohn [Sat, 4 Jan 2020 00:34:46 +0000 (01:34 +0100)]
Remove duplicate copyright statements

Change-Id: I9a85136e1cc47693d1e475d00916c214c9aa55f4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate EDL 1.0 license headers to new short SPDX compliant format 90/155190/2
Matthias Sohn [Fri, 3 Jan 2020 23:50:50 +0000 (00:50 +0100)]
Update EDL 1.0 license headers to new short SPDX compliant format

This is the format given by the Eclipse legal doc generator [1].

[1] https://www.eclipse.org/projects/tools/documentation.php?id=technology.jgit

Bug: 548298
Change-Id: I8d8cabc998ba1b083e3f0906a8d558d391ffb6c4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate spring-boot-maven-plugin to 2.1.5.RELEASE 34/155034/3
Matthias Sohn [Wed, 25 Dec 2019 22:34:41 +0000 (23:34 +0100)]
Update spring-boot-maven-plugin to 2.1.5.RELEASE

Change-Id: If16a72a1270eb57bc1fb27b18b8c396453dbbe60
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoTLS support on IBM JDKs 30/155130/3
Thomas Wolf [Tue, 31 Dec 2019 22:08:10 +0000 (23:08 +0100)]
TLS support on IBM JDKs

SSLContext.getInstance("TLS") by default behaves differently on IBM
JDK than on Oracle or OpenJDK.[1] On IBM JDK one gets sockets that
have only TLSv1 enabled, which makes HTTPS connections fail since most
servers refuse this old protocol version. On Oracle JDK/OpenJDK, one
gets sockets with all available protocol versions enabled.

Explicitly enable all available TLS protocol versions to make
HTTPS connections work also on IBM JDK.

[1] https://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls

Bug: 558709
Change-Id: I5ffc57a78e67a6239b9dad54840a49a8ed28930a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.6' 35/155035/1
Matthias Sohn [Wed, 25 Dec 2019 23:18:45 +0000 (00:18 +0100)]
Merge branch 'stable-5.6'

* stable-5.6:
  Hooks: avoid problems with backslashes in paths

Change-Id: Ia9e4aca11de5a465b60898a37441a17133f6355b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpgrade maven-source-plugin to 3.2.1 26/155026/1
David Pursehouse [Wed, 25 Dec 2019 11:14:15 +0000 (11:14 +0000)]
Upgrade maven-source-plugin to 3.2.1

Change-Id: I01b0e6cc71f841680bc4116502837af2519379f9
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoUpgrade ecj to 3.20.0 25/155025/1
David Pursehouse [Wed, 25 Dec 2019 11:13:23 +0000 (11:13 +0000)]
Upgrade ecj to 3.20.0

Change-Id: Ic72d05567d4c90f3d720a166afe99148fb003592
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoHooks: avoid problems with backslashes in paths 14/155014/1
Thomas Wolf [Tue, 24 Dec 2019 11:13:29 +0000 (12:13 +0100)]
Hooks: avoid problems with backslashes in paths

Calling sh -c with a script path containing backslashes may fail since
the shell may try to process them as escape characters.

Instead of calling

  sh.exe -c 'C:\path\script "$@"' 'C:\path\script' other args

call

  sh.exe -c '$0 "$@"' 'C:\path\script' other args

which avoids this escape processing.

Note that this is not specific to Windows. If the path or the script
name contain backslashes, this also occurs on Unix.

Bug: 558577
Change-Id: I47d63db6f8644f956c55c42b07dbcad7d7f305aa
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
4 years agoUpdate jetty to 9.4.24.v20191120 80/154980/1
Matthias Sohn [Sun, 22 Dec 2019 23:47:25 +0000 (00:47 +0100)]
Update jetty to 9.4.24.v20191120

Change-Id: I6b3dbdfaf344efd174c0786902170f349b1bc8ff
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUpdate maven-site-plugin used by benchmark module to 3.8.2 69/154769/1
Matthias Sohn [Wed, 18 Dec 2019 14:50:35 +0000 (15:50 +0100)]
Update maven-site-plugin used by benchmark module to 3.8.2

The benchmark module currently has no parent, adjust the version used
here to the one used by all the other jgit Maven modules.

Change-Id: I8807a694fe23f8f131d1d22a58a3e18874d756cc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd dependency to enable site generation for benchmark module 68/154768/1
Matthias Sohn [Wed, 18 Dec 2019 14:49:18 +0000 (15:49 +0100)]
Add dependency to enable site generation for benchmark module

Change-Id: Iae4524ddc730d57993e9c6d6807282e4b07d1336
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoUsing StringBuilder in StringUtils#capitalize method 05/154705/2
Lars Vogel [Tue, 17 Dec 2019 22:51:00 +0000 (23:51 +0100)]
Using StringBuilder in StringUtils#capitalize method

StringBuffer is synchronized which is slower and should be replaced with
StringBuilder according to its Javadoc.

Change-Id: If4d4a5a49da289ded34bbec97132ab7636b937cc
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
4 years agoIgnore warnings for generated source code in org.eclipse.jgit.benchmark 38/154638/1
Matthias Sohn [Mon, 16 Dec 2019 14:22:08 +0000 (15:22 +0100)]
Ignore warnings for generated source code in org.eclipse.jgit.benchmark

The source code in the folder .apt_generated is generated by the JMH
code generator, so there's no point in raising any warnings as this
could only be fixed in the upstream code generator.

Change-Id: I882888e7bf924f9ae74182598fcb91671a5c9818
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd resource preferences for top level jgit project 63/154563/1
Matthias Sohn [Mon, 16 Dec 2019 10:20:12 +0000 (11:20 +0100)]
Add resource preferences for top level jgit project

Define resource preferences for the root directory of the jgit
repository imported as an Eclipse project. This allows to work on files
in the root folder inside Eclipse workspace.

Change-Id: I1885841fd612a646b0b9a31f001ced5ca112e90d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agopgm: add option if reflogs should be written when converting to reftable 40/154540/3
Matthias Sohn [Sat, 14 Dec 2019 22:14:50 +0000 (23:14 +0100)]
pgm: add option if reflogs should be written when converting to reftable

Change-Id: Ie1c38121005965e63015d9a2af26a1caa88d73fa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agopgm: add option to configure if convert-ref-storage should create backup 39/154539/3
Matthias Sohn [Sat, 14 Dec 2019 22:06:47 +0000 (23:06 +0100)]
pgm: add option to configure if convert-ref-storage should create backup

Change-Id: I926f116797508a5982961dfd30c2f765d9536eee
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoSet config "extensions" option when converting ref storage format 38/154538/2
Matthias Sohn [Sat, 14 Dec 2019 21:45:09 +0000 (22:45 +0100)]
Set config "extensions" option when converting ref storage format

When converting to reftable format the option extensions.refStorage must
be set to "reftable" [1]. When converting back to refdir format this
config option needs to be removed.

Introduce constants for refStorage config options, also for the
"reftree" format.

[1] https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/master/Documentation/technical/reftable.md#Version-1

Change-Id: I190222fa5edc1ad7309daa9be17ca934ff7971e3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoExternalize error message in FileRepository#convertRefStorage 37/154537/1
Matthias Sohn [Sat, 14 Dec 2019 21:10:12 +0000 (22:10 +0100)]
Externalize error message in FileRepository#convertRefStorage

Change-Id: I5d3acaa883ee7eb8d244b55b3e708cbe018690c6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix indentation in ConvertRefStorage 36/154536/1
Matthias Sohn [Sat, 14 Dec 2019 21:05:16 +0000 (22:05 +0100)]
Fix indentation in ConvertRefStorage

Change-Id: Icd007b035e728f641c70cda68befa11a6197003f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReplace chain of if statements with switch 64/140164/18
Carsten Hammer [Tue, 21 May 2019 15:04:18 +0000 (17:04 +0200)]
Replace chain of if statements with switch

and switch over strings where possible. Sometimes if statements are
chained and form a series of comparisons against constants. Using switch
statements improves readability.

Bug: 545856
Change-Id: Iacb78956ee5c20db4d793e6b668508ec67466606
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoFix MBean registration 94/154494/1
Matthias Sohn [Fri, 13 Dec 2019 16:32:51 +0000 (17:32 +0100)]
Fix MBean registration

Change-Id: I6f6b8641f6c3e8ab9f625594085014272305656a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge "Update API baseline for 5.7 to 5.6.0.201912101111-r"
David Pursehouse [Thu, 12 Dec 2019 07:55:08 +0000 (02:55 -0500)]
Merge "Update API baseline for 5.7 to 5.6.0.201912101111-r"

4 years agoMinor - Removes unnecessary whitespace in ReftableReader 17/154317/2
Lars Vogel [Wed, 11 Dec 2019 14:44:20 +0000 (15:44 +0100)]
Minor - Removes unnecessary whitespace in ReftableReader

Change-Id: Id0c3463d1b03e258d8633298828ef7cfcd44e13f
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
4 years agoUpdate API baseline for 5.7 to 5.6.0.201912101111-r 99/154299/1
Matthias Sohn [Wed, 11 Dec 2019 13:43:37 +0000 (14:43 +0100)]
Update API baseline for 5.7 to 5.6.0.201912101111-r

Change-Id: I93280812f8db8fdd91dfcd9e4faa13ed4d6e464c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.6' 98/154298/1
Matthias Sohn [Wed, 11 Dec 2019 13:41:04 +0000 (14:41 +0100)]
Merge branch 'stable-5.6'

* stable-5.6:
  Prepare 5.6.1-SNAPSHOT builds
  JGit v5.6.0.201912101111-r

Change-Id: I7824278560d828e1c6e2d540e3372e19507a39c0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoPrepare 5.6.1-SNAPSHOT builds 60/154260/1
Matthias Sohn [Wed, 11 Dec 2019 01:04:21 +0000 (02:04 +0100)]
Prepare 5.6.1-SNAPSHOT builds

Change-Id: Iaa72d2ea6764ccd4fb6a124b51d89fe6492c602d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoJGit v5.6.0.201912101111-r 22/154222/1 v5.6.0.201912101111-r
Matthias Sohn [Tue, 10 Dec 2019 16:35:05 +0000 (17:35 +0100)]
JGit v5.6.0.201912101111-r

Change-Id: Icbb3b46f9d04e45da53936860e07e69fde12971c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoChange the wildcard import to explicit ones. 57/154157/1
Yunjie Li [Mon, 9 Dec 2019 22:34:16 +0000 (14:34 -0800)]
Change the wildcard import to explicit ones.

Change-Id: Ia7bc1c4b6b82c127e1e4e0e657f69d249684e8e6
Signed-off-by: Yunjie Li <yunjieli@google.com>
4 years agoMerge branch 'stable-5.6' 96/154096/1
Matthias Sohn [Mon, 9 Dec 2019 09:14:38 +0000 (10:14 +0100)]
Merge branch 'stable-5.6'

* stable-5.6:
  Add ability to redirect stderr from git hooks
  Add possibility to get pure stderr output from AbortedByHookException

Change-Id: Ifc02675542dad6ced25fdd8b9fae80b5736db688
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoAdd ability to redirect stderr from git hooks 36/153536/2
Tim Neumann [Thu, 28 Nov 2019 14:56:50 +0000 (15:56 +0100)]
Add ability to redirect stderr from git hooks

This will change the behavior in the CLI to resemble that of C-Git more
closely by printing the stderr of the hooks to the CLI stderr
independently of the exit code of the hook.

This is also useful for the corresponding EGIT-Change, which will add
the ability to show the hook output in eclipse.
With this also the stderr can be shown even if the exit code is 0.

Bug: 553471
Change-Id: Ie7bc503fe39e270e9b93dd1108b5879f02a12b4c
Signed-off-by: Tim Neumann <Tim.Neumann@advantest.com>
4 years agoAdd possibility to get pure stderr output from AbortedByHookException 28/153528/2
Tim Neumann [Thu, 28 Nov 2019 11:56:12 +0000 (12:56 +0100)]
Add possibility to get pure stderr output from AbortedByHookException

This is a preparation for the corresponding EGit change to remove
redundant output in the aborted by commit hook popup.

Bug: 553469
Change-Id: Id5f39a4df659fafc9d951668e6f53fed4380de9d
Signed-off-by: Tim Neumann <Tim.Neumann@advantest.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoEnhance WindowCache statistics 01/153601/6
Matthias Sohn [Sat, 30 Nov 2019 02:38:13 +0000 (03:38 +0100)]
Enhance WindowCache statistics

Add the following statistics
- cache hit count and hit ratio
- cache miss count and miss ratio
- count of successful and failed loads
- rate of failed loads
- load, eviction and request count
- average and total load time

Use LongAdder instead of AtomicLong to implement counters in order to
improve scalability.

Optionally expose these metrics via JMX, they are registered with the
platform MBean server if the config option jmx.WindowCacheStats = true
in the user or system level git config.

Bug: 553573
Change-Id: Ia2d5246ef69b9c2bd594a23934424bc5800774aa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMerge branch 'stable-5.6' 58/153958/1
David Pursehouse [Fri, 6 Dec 2019 01:19:58 +0000 (10:19 +0900)]
Merge branch 'stable-5.6'

* stable-5.6:
  Cleanup CommitAndLogCommandTest
  CLI: Add support for excluding paths from Git log command

Change-Id: I2f48e16640ab1b13f0c32779422add3162260c50
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoFix API check errors introduced in ReceivePack in 945d43d5 54/153954/1
Matthias Sohn [Thu, 5 Dec 2019 22:34:40 +0000 (23:34 +0100)]
Fix API check errors introduced in ReceivePack in 945d43d5

- add missing @since tag on new field connectivityChecker
- suppress warning for this added field which may affect subclasses
which is ok

Change-Id: Id6c22258efd10fa3847290f3dcfa42893b6ae882
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoCleanup CommitAndLogCommandTest 49/153949/1
Matthias Sohn [Thu, 5 Dec 2019 21:48:55 +0000 (22:48 +0100)]
Cleanup CommitAndLogCommandTest

- if a test can throw different exceptions declare it throws Exception
- fix code formatting

Change-Id: I55d63918f3163b31f2297d6217d5855108dd43b5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoCLI: Add support for excluding paths from Git log command 73/153673/5
John Tipper [Mon, 2 Dec 2019 23:00:19 +0000 (23:00 +0000)]
CLI: Add support for excluding paths from Git log command

Git log supports the exclude pathspec, which allows for excluding paths
from the log command. JGit only supports adding paths to the log
command. See the following StackOverflow question for details:
https://stackoverflow.com/questions/59143934/java-jgit-how-to-get-git-
commits-not-affecting-certain-directories
This commit adds an excludePath() method to the log command. It does not
yet support regex or glob wildcards.

Change-Id: I8cd59950b87850b55a15c7e2ea5470145c9aae28
Signed-off-by: John Tipper <john_tipper@hotmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReceivePack: Moves connectivity check to separate class 97/152097/11
Demetr Starshov [Tue, 8 Oct 2019 23:53:22 +0000 (16:53 -0700)]
ReceivePack: Moves connectivity check to separate class

Move all connectivity check to separate classes. Set default to be
FullConnectivityChecker i.e. checker which will check connectivity
from all advertised refs. Add ability to set other connectivity
checker which can use different approach.

Signed-off-by: Demetr Starshov <dstarshov@google.com>
Change-Id: Ibb107dbfbdde8ad109be25b5ecf42be7660ef736

4 years agoUpgrade error_prone_core to 2.3.4 55/153755/3
David Pursehouse [Wed, 4 Dec 2019 03:57:40 +0000 (12:57 +0900)]
Upgrade error_prone_core to 2.3.4

Change-Id: I7e91acc4d094d92cac41d5044268dfc2208bb663
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoMerge branch 'stable-5.6' 72/153872/1
David Pursehouse [Thu, 5 Dec 2019 01:46:40 +0000 (10:46 +0900)]
Merge branch 'stable-5.6'

* stable-5.6:
  ReftableTest: Clean up boxing warnings on usage of String.format
  MergedReftable: Remove unnecessary semicolon

Change-Id: Id35406acfdd91c3ddf17ce4e1023395f774774f2
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoSuppress API error for RefDatabase.hasFastTipsWithSha1() 66/153866/1
Matthias Sohn [Thu, 5 Dec 2019 00:56:31 +0000 (01:56 +0100)]
Suppress API error for RefDatabase.hasFastTipsWithSha1()

This method was added in stable-5.6 after 5.6 RC1 was tagged. It's shown
as an API error when using 5.6.0 RC1 as the API baseline for master.
This suppression can be removed when 5.6 is released which will serve as
the API baseline for 5.7.

Change-Id: Ic6359fe59ed2d2a9431583b0854ec86bbac76880
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoRemove API filters which became obsolete after bumping version to 5.7.0 65/153865/1
Matthias Sohn [Thu, 5 Dec 2019 00:55:04 +0000 (01:55 +0100)]
Remove API filters which became obsolete after bumping version to 5.7.0

Change-Id: I00b8d3e2e1023794f24d9447e3b0214c50353838
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoReftableTest: Clean up boxing warnings on usage of String.format 67/153867/1
David Pursehouse [Thu, 5 Dec 2019 00:54:14 +0000 (09:54 +0900)]
ReftableTest: Clean up boxing warnings on usage of String.format

Passing int as an argument to String.format causes a warning:

  The expression of type int is boxed into Integer

Most of these are already suppressed, but there are a couple that are
not. Add suppressions for those.

For the existing ones, move the suppression scope from the method to
the actual usage. Where necessary extract the usage out to a local
variable.

Change-Id: I7a7ff6dec49467e4b5c58d27a231c74e6e1c5437
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
4 years agoAdd missing @since tag for ReceivePack#receiveWithExceptionPropagation 64/153864/1
Matthias Sohn [Thu, 5 Dec 2019 00:51:29 +0000 (01:51 +0100)]
Add missing @since tag for ReceivePack#receiveWithExceptionPropagation

Change-Id: Ie64abc3e5bcf6dbaecfa8f2cb50796703ebd1f39
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
4 years agoMergedReftable: Remove unnecessary semicolon 61/153861/1
David Pursehouse [Thu, 5 Dec 2019 00:42:52 +0000 (09:42 +0900)]
MergedReftable: Remove unnecessary semicolon

Change-Id: I67d2b8ba3cd8f94363cea864918c8ed6026f2d18
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>