]> source.dussan.org Git - jgit.git/log
jgit.git
2 years agoMerge branch 'stable-5.12' into stable-5.13 47/189147/1
Thomas Wolf [Sun, 26 Dec 2021 15:02:51 +0000 (16:02 +0100)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I6576872cc0f5dd452252fa6e4526086cdee65c28
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.11' into stable-5.12 46/189146/1
Thomas Wolf [Sun, 26 Dec 2021 15:02:06 +0000 (16:02 +0100)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: Ib80336a42e22da729b9db1e573772504cc0a3e77
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.10' into stable-5.11 45/189145/1
Thomas Wolf [Sun, 26 Dec 2021 15:01:08 +0000 (16:01 +0100)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I9e79ea2a0c554a184e4ce3b13e375eac8b7a4ac5
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.9' into stable-5.10 44/189144/1
Thomas Wolf [Sun, 26 Dec 2021 14:58:49 +0000 (15:58 +0100)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I2a84c838a886d1d6383c34f50b418baa743c57b0
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.8' into stable-5.9 43/189143/1
Thomas Wolf [Sun, 26 Dec 2021 14:57:59 +0000 (15:57 +0100)]
Merge branch 'stable-5.8' into stable-5.9

* stable-5.8:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I88a629e571fec5a9820114ebf5765b5d94a276bd
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.7' into stable-5.8 42/189142/1
Thomas Wolf [Sun, 26 Dec 2021 14:56:59 +0000 (15:56 +0100)]
Merge branch 'stable-5.7' into stable-5.8

* stable-5.7:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: Ied786ab5e3c0dd05f701705fce2d4ad85502c4d6
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.6' into stable-5.7 41/189141/1
Thomas Wolf [Sun, 26 Dec 2021 14:55:52 +0000 (15:55 +0100)]
Merge branch 'stable-5.6' into stable-5.7

* stable-5.6:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I454622dae6eb95aedbd858e3b12da72282d36673
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.5' into stable-5.6 40/189140/1
Thomas Wolf [Sun, 26 Dec 2021 14:54:37 +0000 (15:54 +0100)]
Merge branch 'stable-5.5' into stable-5.6

* stable-5.5:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I2622f1d384a88a556ba9d88f0d08a37af69e530c
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.4' into stable-5.5 39/189139/1
Thomas Wolf [Sun, 26 Dec 2021 14:53:38 +0000 (15:53 +0100)]
Merge branch 'stable-5.4' into stable-5.5

* stable-5.4:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: Ia1665dd92ccc3811a6116f41421a05aca10fc6eb
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.3' into stable-5.4 38/189138/1
Thomas Wolf [Sun, 26 Dec 2021 14:52:23 +0000 (15:52 +0100)]
Merge branch 'stable-5.3' into stable-5.4

* stable-5.3:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I52a57a17abe60e30e3d7615f8cb4d0c5e6aebd9b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.2' into stable-5.3 37/189137/1
Thomas Wolf [Sun, 26 Dec 2021 14:51:23 +0000 (15:51 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: Id37f47a5ef2e3c8329eca30c171941f7e5606a85
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoMerge branch 'stable-5.1' into stable-5.2 36/189136/1
Thomas Wolf [Sun, 26 Dec 2021 14:49:06 +0000 (15:49 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

Change-Id: I625667c2718ab31ae7df907c3dd6024a933913b8
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoRevert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation" 35/189135/1
Thomas Wolf [Sun, 26 Dec 2021 14:35:30 +0000 (15:35 +0100)]
Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation"

This reverts commit f829f5f838e0f9c17373ea6cb3407976a8f395ff.

Using MISSING_FILEKEY as indicator for a non-existing file doesn't work
on Windows.

Bug: 577954
Change-Id: I92102a3d259f6cc0f367096a3213cfa794466817
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2 years agoTreeRevFilter: fix wrong stop when the given path disappears 38/188938/2
kylezhao [Fri, 12 Nov 2021 06:34:46 +0000 (14:34 +0800)]
TreeRevFilter: fix wrong stop when the given path disappears

When chgs[i] == adds[i], it indicated that a commit added some files
that pList[i] did not have, but didn't mean pList[i] is "empty tree
root".

Follow the example below:

.                           .
└── src                     └── src
    └── d1          ==>          └── d1
        └─ file1                    ├─  file1
                                    └── file2
   c.parents[i]                   c

The variable chg[i] equals to variable add[i],
but commit c.parents[i] is not "empty tree root".

We should add an additional check for no paths matching the filter.

Bug: 577227
Change-Id: I834e9ddd0de86b108b280a1139519ea962913b38
Signed-off-by: kylezhao <kylezhao@tencent.com>
2 years agoMerge branch 'stable-5.12' into stable-5.13 45/188545/1
Matthias Sohn [Sat, 4 Dec 2021 19:58:31 +0000 (20:58 +0100)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I9c85b3a774480c4f4b56ecdf5015916349a0ddc0

2 years agoMerge branch 'stable-5.11' into stable-5.12 44/188544/1
Matthias Sohn [Sat, 4 Dec 2021 19:41:39 +0000 (20:41 +0100)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I72f39fbe82dd578d71aa2e3ceccebb39a25c4e00

2 years agoMerge branch 'stable-5.10' into stable-5.11 43/188543/1
Matthias Sohn [Sat, 4 Dec 2021 19:26:55 +0000 (20:26 +0100)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I84c73e11381c31566a12033db94e9afdcef5b705

2 years agoMerge branch 'stable-5.9' into stable-5.10 42/188542/1
Matthias Sohn [Sat, 4 Dec 2021 18:29:56 +0000 (19:29 +0100)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I971745b529ff903ea8bf9c3dbbc746fa09f41041

2 years agoMerge branch 'stable-5.8' into stable-5.9 41/188541/1
Matthias Sohn [Sat, 4 Dec 2021 18:14:56 +0000 (19:14 +0100)]
Merge branch 'stable-5.8' into stable-5.9

* stable-5.8:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I5e7c204c0e4c428df6f3b27ba1fc06326983f27c

2 years agoMerge branch 'stable-5.7' into stable-5.8 40/188540/1
Matthias Sohn [Sat, 4 Dec 2021 17:45:20 +0000 (18:45 +0100)]
Merge branch 'stable-5.7' into stable-5.8

* stable-5.7:
  Add missing @since tags
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot
creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: Ibe46e8479b57a54591ad7bd3cc29bf4a5274e43d

2 years agoAdd missing @since tags 39/188539/1
Matthias Sohn [Sat, 4 Dec 2021 17:34:48 +0000 (18:34 +0100)]
Add missing @since tags

Change-Id: Iaeca1d6154c1383ebe27b723e8814e262328eb48

2 years agoMerge branch 'stable-5.6' into stable-5.7 38/188538/1
Matthias Sohn [Sat, 4 Dec 2021 17:12:11 +0000 (18:12 +0100)]
Merge branch 'stable-5.6' into stable-5.7

* stable-5.6:
  Add missing @since tag
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I53e6cb4b3a34b32d964e486c1ff3d130eed6e406

2 years agoAdd missing @since tag 37/188537/1
Matthias Sohn [Sat, 4 Dec 2021 17:07:09 +0000 (18:07 +0100)]
Add missing @since tag

Change-Id: I665c860696b6981dfec87a60c4eb95060a02436f

2 years agoMerge branch 'stable-5.5' into stable-5.6 36/188536/1
Matthias Sohn [Sat, 4 Dec 2021 16:52:04 +0000 (17:52 +0100)]
Merge branch 'stable-5.5' into stable-5.6

* stable-5.5:
  Add missing @since tags
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I007e92c12fde8d765b75f103e9d530aa0834b7d7

2 years agoAdd missing @since tags 35/188535/1
Matthias Sohn [Sat, 4 Dec 2021 16:47:48 +0000 (17:47 +0100)]
Add missing @since tags

Change-Id: Id21e626201363dd3d0358bd709765e7fd07a0cbf

2 years agoMerge branch 'stable-5.4' into stable-5.5 34/188534/1
Matthias Sohn [Sat, 4 Dec 2021 08:48:19 +0000 (09:48 +0100)]
Merge branch 'stable-5.4' into stable-5.5

* stable-5.4:
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I5ce55c6c152a59602fef9fb08c16dedf666444e2

2 years agoMerge branch 'stable-5.3' into stable-5.4 27/188527/1
Matthias Sohn [Sat, 4 Dec 2021 01:16:08 +0000 (02:16 +0100)]
Merge branch 'stable-5.3' into stable-5.4

* stable-5.3:
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: I0e80612c8ddb934466105312f9107e91d581de0b

2 years agoMerge branch 'stable-5.2' into stable-5.3 26/188526/1
Matthias Sohn [Sat, 4 Dec 2021 00:58:53 +0000 (01:58 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Remove unused import in ApacheSshTest
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: Id989365446cb55b9188e02e6e1f8cbc8ab71071c

2 years agoRemove unused import in ApacheSshTest 25/188525/1
Matthias Sohn [Sat, 4 Dec 2021 00:40:36 +0000 (01:40 +0100)]
Remove unused import in ApacheSshTest

Change-Id: I55ebddf232369389e717bbf8707f6e785de14bce

2 years agoMerge branch 'stable-5.1' into stable-5.2 24/188524/1
Matthias Sohn [Fri, 3 Dec 2021 23:43:05 +0000 (00:43 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Update maven plugins
  Ignore missing javadoc in test bundles
  storage: file: De-duplicate File.exists()+File.isFile()
  RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  FileSnapshot: Lazy load file store attributes cache
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix p2 repository URLs

Change-Id: If3ad2cfb6c341b0ff5c2120a5a1646f6368d86e7

2 years agoUpdate maven plugins 20/188520/1
Matthias Sohn [Fri, 3 Dec 2021 21:45:05 +0000 (22:45 +0100)]
Update maven plugins

- build-helper-maven-plugin to 3.2.0
- jacoco-maven-plugin to 0.8.7
- maven-antrun-plugin to 3.0.0
- maven-dependency-plugin to 3.2.0
- maven-enforcer-plugin to 3.0.0
- maven-jar-plugin to 3.2.0
- maven-javadoc-plugin to 3.3.1
- maven-jxr-plugin to 3.1.1
- maven-pmd-plugin to 3.15.0
- maven-project-info-reports-plugin to 3.1.2
- maven-resources-plugin to 3.2.0
- maven-shade-plugin to 3.2.4
- maven-site-plugin to 3.9.1
- maven-source-plugin to 3.2.1
- maven-surefire-plugin to 3.0.0-M5
- spotbugs-maven-plugin to 4.3.0
- tycho and tycho-extras to 1.7.0

Change-Id: I7738fbfd7db60ddbeb372efcb4c72c71112ac231

2 years agoIgnore missing javadoc in test bundles 19/188519/1
Matthias Sohn [Thu, 24 Jun 2021 21:13:51 +0000 (23:13 +0200)]
Ignore missing javadoc in test bundles

Change-Id: I83ed20823dc6b22ff48c2a554acb2f7d3b6067b7
(cherry picked from commit 12f39c26b09bc3ebf1dd0216f56c37c808a53034)

2 years agostorage: file: De-duplicate File.exists()+File.isFile() 13/188513/2
Nasser Grainawi [Fri, 3 Dec 2021 17:05:53 +0000 (10:05 -0700)]
storage: file: De-duplicate File.exists()+File.isFile()

File.isFile() [1] checks if the file exists and is a normal file.

[1] https://docs.oracle.com/javase/8/docs/api/java/io/File.html#isFile--

Change-Id: I0a883f2482ecc5ac58b270351b416742b568eb68
Signed-off-by: Nasser Grainawi <quic_nasserg@quicinc.com>
2 years agoRefDirectory.scanRef: Re-use file existence check done in snapshot creation 90/188290/2
Kaushik Lingarkar [Mon, 29 Nov 2021 20:14:56 +0000 (12:14 -0800)]
RefDirectory.scanRef: Re-use file existence check done in snapshot creation

Return immediately in scanRef if the loose ref was identified as
missing when a snapshot was attempted for the ref. This will help
performance of scanRef when the ref is packed but has a corresponding
empty dir in 'refs/'.

For example, consider the case where we create 50k sharded refs in
a new namespace called 'new-refs' using an atomic 'BatchRefUpdate'.
The refs are named like 'refs/new-refs/01/1/1', 'refs/new-refs/01/1/2',
'refs/new-refs/01/1/3' and so on. After the refs are created, the
'new-refs' namespace looks like below:

$ find refs/new-refs -type f | wc -l
0

$ find refs/new-refs -type d | wc -l
5101

At this point, an 'exactRef' call on each of the 50k refs without
this change takes ~2.5s, where as with this change it takes ~1.5s.

Change-Id: I926bc41b9ae89a1a792b1b5ec9a17b05271c906b
Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2 years agoFileSnapshot: Lazy load file store attributes cache 10/187910/9
Kaushik Lingarkar [Thu, 18 Nov 2021 21:12:17 +0000 (13:12 -0800)]
FileSnapshot: Lazy load file store attributes cache

Doing a getFileStoreAttributes call even when the file doesn't
exist is unnecessary. This call is particularly slow on some
filesystems. Instead, do it only when the file exists and load
the appropriate cache.

This update can help speed up RefDirectory.exactRef when the ref
is packed, but has a corresponding empty dir for it under 'refs/'.
This scenario can happen when an atomic 'BatchRefUpdate' creates
new sharded refs.

For example, consider the case where we create 50k sharded refs in
a new namespace called 'new-refs' using an atomic 'BatchRefUpdate'.
The refs are named like 'refs/new-refs/01/1/1', 'refs/new-refs/01/1/2',
'refs/new-refs/01/1/3' and so on. After the refs are created, the
'new-refs' namespace looks like below:

$ find refs/new-refs -type f | wc -l
0

$ find refs/new-refs -type d | wc -l
5101

At this point, an 'exactRef' call on each of the 50k refs without
this change takes ~30s, where as with this change it takes ~2.5s.

Change-Id: I4a5d4c6a652dbeed1f4bc3b4f2b2f1416f7ca0e7
Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2 years agoUpdate eclipse-jarsigner-plugin to 1.3.2 56/188456/1
Matthias Sohn [Mon, 20 Sep 2021 22:18:03 +0000 (00:18 +0200)]
Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: Id5d05d96c392913de7b4451421c2ffb7b63ab83f
(cherry picked from commit c70c0acb4752f00672e3b856539587e4977bfaea)

2 years agoFix p2 repository URLs 49/188449/1
Matthias Sohn [Thu, 2 Dec 2021 08:56:07 +0000 (09:56 +0100)]
Fix p2 repository URLs

- the old jetty releases were moved to the archive server
- use https
- use eclipse 4.9 release repository

Change-Id: I2ca20dd828a9272a383e166e6ad82390415891cf

2 years agoMerge branch 'stable-5.12' into stable-5.13 20/188220/1
Matthias Sohn [Sun, 28 Nov 2021 11:04:55 +0000 (12:04 +0100)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  FS: debug logging only if system config file cannot be found

Change-Id: I4f6fd422e15361118134c4d1534507e0bd81a172

2 years agoMerge branch 'stable-5.11' into stable-5.12 19/188219/1
Matthias Sohn [Sun, 28 Nov 2021 11:04:15 +0000 (12:04 +0100)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  FS: debug logging only if system config file cannot be found

Change-Id: Ib32079d58900328f9fc7c91648a1eee9c2bccba5

2 years agoMerge branch 'stable-5.10' into stable-5.11 18/188218/1
Matthias Sohn [Sun, 28 Nov 2021 11:02:45 +0000 (12:02 +0100)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  FS: debug logging only if system config file cannot be found

Change-Id: Icd52afc3a74e0d2618181f62515d7e2a8d6c9739

2 years agoMerge branch 'stable-5.9' into stable-5.10 17/188217/1
Matthias Sohn [Sun, 28 Nov 2021 11:02:03 +0000 (12:02 +0100)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  FS: debug logging only if system config file cannot be found

Change-Id: Ib9eb4f4cc44ecc1958c9b6455ab7865913f8b247

2 years agoFS: debug logging only if system config file cannot be found 16/188216/1
Thomas Wolf [Sun, 28 Nov 2021 10:42:20 +0000 (11:42 +0100)]
FS: debug logging only if system config file cannot be found

The command 'git config --system --show-origin --list -z' fails if
the system config doesn't exist. Use debug logging instead of a
warning for failures of that command. Typically the user cannot do
anything about it anyway, and JGit will just work without system
config.

Bug: 577492
Change-Id: If628ab376182183aea57a385c169e144d371bbb2
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoMerge branch 'stable-5.12' into stable-5.13 31/188031/1
Thomas Wolf [Tue, 23 Nov 2021 18:47:13 +0000 (19:47 +0100)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  Better git system config finding

Change-Id: Iebbae08b6bb6ef510ca07329df77223bc2128ec1
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoSet JSch global config values only if not set already 30/188030/1
Thomas Wolf [Tue, 19 Oct 2021 07:07:14 +0000 (09:07 +0200)]
Set JSch global config values only if not set already

Bug: 576604
Change-Id: I04415f07bf2023bc8435c097d1d3c65221d563f1
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
(cherry picked from commit f8b0c00e6a8f5628babff6dd37254a21589b6e44)

3 years agoMerge branch 'stable-5.11' into stable-5.12 29/188029/1
Thomas Wolf [Tue, 23 Nov 2021 18:46:10 +0000 (19:46 +0100)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  Better git system config finding

Change-Id: I47946b91658cb2e38709179b7a8513b1211431e4
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoMerge branch 'stable-5.10' into stable-5.11 28/188028/1
Thomas Wolf [Tue, 23 Nov 2021 18:44:58 +0000 (19:44 +0100)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  Better git system config finding

Change-Id: I460d855ea7878b279dbaffa6eb7ce5ca93f4c12c
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoMerge branch 'stable-5.9' into stable-5.10 27/188027/1
Thomas Wolf [Tue, 23 Nov 2021 18:43:35 +0000 (19:43 +0100)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  Better git system config finding

Change-Id: I1022d003e0d3b9d452abfed9ac49663d0a93c6e6
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoBetter git system config finding 24/188024/1
Thomas Wolf [Fri, 19 Nov 2021 18:15:46 +0000 (19:15 +0100)]
Better git system config finding

We've used "GIT_EDITOR=edit git config --system --edit" to determine
the location of the git system config for a long time. But git 2.34.0
always expects this command to have a tty, but there isn't one when
called from Java. If there isn't one, the Java process may get a
SIGTTOU from the child process and hangs.

Arguably it's a bug in C git 2.34.0 to unconditionally assume there
was a tty. But JGit needs a fix *now*, otherwise any application using
JGit will lock up if git 2.34.0 is installed on the machine.

Therefore, use a different approach if the C git found is 2.8.0 or
newer: parse the output of

  git config --system --show-origin --list -z

"--show-origin" exists since git 2.8.0; it prefixes the values with
the file name of the config file they come from, which is the system
config file for this command. (This works even if the first item in
the system config is an include.)

Bug: 577358
Change-Id: I3ef170ed3f488f63c3501468303119319b03575d
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
(cherry picked from commit 9446e62733da5005be1d5182f0dce759a3052d4a)

3 years agoMerge branch 'stable-5.12' into stable-5.13 92/187292/1
Matthias Sohn [Wed, 3 Nov 2021 22:18:21 +0000 (23:18 +0100)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  Fix target platforms

- jetty 9.4.43 moved to archive.eclipse.org
- use the final release p2 repo instead of staging for 2021-09

Change-Id: I35c1264b8e9c63874663141288dca03b47f263ed

3 years agoMerge branch 'stable-5.11' into stable-5.12 90/187290/1
Matthias Sohn [Wed, 3 Nov 2021 22:13:39 +0000 (23:13 +0100)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  Fix target platforms

- jetty 9.4.41 moved to archive.eclipse.org
- use the final release p2 repo instead of staging for 2021-06

Change-Id: I7a02b1fe271910dd82acf45242d8425aba2f52f9

3 years agoMerge branch 'stable-5.10' into stable-5.11 89/187289/1
Matthias Sohn [Wed, 3 Nov 2021 22:09:15 +0000 (23:09 +0100)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  Fix target platforms

- jetty 9.4.36 moved to archive.eclipse.org
- use the final release p2 repo instead of staging for 2021-03

Change-Id: I6ce2294bb150fedf8ded7fe6c1e23019d9c178d6

3 years agoMerge branch 'stable-5.9' into stable-5.10 88/187288/1
Matthias Sohn [Wed, 3 Nov 2021 22:01:44 +0000 (23:01 +0100)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  Fix target platforms

Change-Id: Ib1876923ba98252682f41a03877792fd22b418d6

3 years agoFix target platforms 87/187287/1
Matthias Sohn [Wed, 3 Nov 2021 21:40:48 +0000 (22:40 +0100)]
Fix target platforms

- jetty 9.4.30 moved to archive.eclipse.org
- use the final release p2 repo instead of staging for 2020-09

Change-Id: Ia096200e5983f0022c6c0da4dae035433e852807

3 years agoMerge branch 'stable-5.12' into stable-5.13 56/186556/1
Matthias Sohn [Fri, 15 Oct 2021 20:58:21 +0000 (22:58 +0200)]
Merge branch 'stable-5.12' into stable-5.13

* stable-5.12:
  Fix missing peel-part in lsRefsV2 for loose annotated tags
  Fix RevWalk.getMergedInto() ignores annotated tags
  Optimize RevWalk.getMergedInto()
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix running benchmarks from bazel
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: Ie5da8d2d07f39ab5aaeca560040637635d4eb04c

3 years agoMerge branch 'stable-5.11' into stable-5.12 55/186555/1
Matthias Sohn [Fri, 15 Oct 2021 20:48:01 +0000 (22:48 +0200)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  Fix missing peel-part in lsRefsV2 for loose annotated tags
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix running benchmarks from bazel
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I2122b3966bddb10d43d439eb8c5d6cc4583c6ba6

3 years agoMerge branch 'stable-5.10' into stable-5.11 53/186553/1
Matthias Sohn [Fri, 15 Oct 2021 20:45:18 +0000 (22:45 +0200)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  Fix missing peel-part in lsRefsV2 for loose annotated tags
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix running benchmarks from bazel
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I23ccb89306263ce042ce782d881812d4b5187672

3 years agoMerge branch 'stable-5.9' into stable-5.10 52/186552/1
Matthias Sohn [Fri, 15 Oct 2021 20:32:00 +0000 (22:32 +0200)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  Fix missing peel-part in lsRefsV2 for loose annotated tags
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2
  Fix running benchmarks from bazel
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I4e7c7727ebfa9a7748477f2300bd66d775548ad6

3 years agoFix missing peel-part in lsRefsV2 for loose annotated tags 20/186520/4
Saša Živkov [Fri, 15 Oct 2021 08:13:53 +0000 (10:13 +0200)]
Fix missing peel-part in lsRefsV2 for loose annotated tags

We observed the following issue:

  $ git tag -a v1.0 -m v1.0
  $ git push origin tag v1.0
  $ git ls-remote origin v1.0^{}
  ... empty result ...

  On the server (Gerrit) side run git-gc to pack the refs:
  $ git gc

  Repeat the ls-remote from the client and the result is correct:
  $ git ls-remote origin v1.0^{}
  7ad85c810de3ae922903d4bdd17c53cd627260ba        refs/tags/v1.0^{}

Unfortunately, the existing UploadPackTest didn't reveal this issue
although it provided the test case needed to do so: testV2LsRefsPeel.
This is because The UploadPackTest uses InMemoryRepository which
internally uses Dfs* implementations. The issue is only reproducible
when using the FileRepository.

It is a non-trivial task to refactor the UploadPackTest to work against
both InMemoryRepository and FileRepository and this change is not trying
to do that. This change creates a new test:
UploadPackLsRefsFileRepositoryTest and copies the necesssary code from
the UploadPackTest.

Change-Id: Icfc7d0ca63f1524bafe24c9626ce12ea72aa3718
Signed-off-by: Saša Živkov <sasa.zivkov@sap.com>
3 years agoFix RevWalk.getMergedInto() ignores annotated tags 01/184901/5
kylezhao [Thu, 2 Sep 2021 03:53:48 +0000 (11:53 +0800)]
Fix RevWalk.getMergedInto() ignores annotated tags

If an annotated tag refers to a commit, we should not ignore it.

Change-Id: I77504f93636e9e984540e7d8535ef301adce6a80
Signed-off-by: kylezhao <kylezhao@tencent.com>
3 years agoOptimize RevWalk.getMergedInto() 06/184806/6
kylezhao [Tue, 31 Aug 2021 11:36:44 +0000 (19:36 +0800)]
Optimize RevWalk.getMergedInto()

Transitive Relation Definition:
On the DAG of commit history, if A can reach B, C can reach A, then C
can reach B.

Example:
As is shown in the graph below:

  1 - 2 - 3 - 4 (side)
            \
             5 -  6^ (master) - 7 (topic)

Find out which branches is 2 merged into:
After we calculated that master contains 2, we can mark 6 as TEMP_MARK
to avoid unwanted walks.
When we want to figure out if 2 is merge into the topic, the traversal
path would be [7, 6] instead of [7, 6, 5, 3, 2].

Test:
This change can significantly improve performance for tags.
On a copy of the Linux repository, the command 'git tag --contains
<commit>' had the following performance improvement:

commit      | Before   | After   | Rel %
47a44d27ca  | 29251ms  | 6687ms  | -77%
90327e7dff  | 21388ms  | 6256ms  | -70%
f85fac0efa  | 11150ms  | 7338ms  | -34%

The current version ignores tags, even though the tag is a type of
the ref.
Follow-up commits I'll fix it.

Change-Id: Ie6295ca4d16070499912af462239e679a97cce47
Signed-off-by: kylezhao <kylezhao@tencent.com>
Reviewed-by: Christian Halstrick <christian.halstrick@sap.com>
Reviewed-by: Martin Fick <mfick@codeaurora.org>
3 years agoMerge branch 'stable-5.8' into stable-5.9 99/186299/1
Matthias Sohn [Thu, 7 Oct 2021 22:36:14 +0000 (00:36 +0200)]
Merge branch 'stable-5.8' into stable-5.9

* stable-5.8:
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I9e66ef90dc9a65bac47b35705d679bf992bd72b9

3 years agoMerge branch 'stable-5.7' into stable-5.8 97/186297/1
Matthias Sohn [Thu, 7 Oct 2021 22:33:33 +0000 (00:33 +0200)]
Merge branch 'stable-5.7' into stable-5.8

* stable-5.7:
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I88c47ff57f4829baec5b19aad3d8d6bd21f31a86

3 years agoMerge branch 'stable-5.6' into stable-5.7 96/186296/1
Matthias Sohn [Thu, 7 Oct 2021 22:18:42 +0000 (00:18 +0200)]
Merge branch 'stable-5.6' into stable-5.7

* stable-5.6:
  reftable: drop code for truncated reads
  reftable: pass on invalid object ID in conversion
  Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: I1c18f5f435f4a4a86e0548a310dbfc74191e1ed5

3 years agoreftable: drop code for truncated reads 02/185902/4
Han-Wen Nienhuys [Tue, 28 Sep 2021 18:05:03 +0000 (20:05 +0200)]
reftable: drop code for truncated reads

The reftable format is a block based format, but allows for variably
sized blocks. This obviously happens for reflog blocks (which are zlib
compressed), but is also accepted for index blocks: In the spec, this
is motivated as

     To achieve constant O(1) disk seeks for lookups the index must be
     a single level, which is permitted to exceed the file's
     configured block size, but not the format's max block size of
     15.99 MiB.

Hence, when parsing a block, one cannot be sure of its exact size:
after reading a default-size block (eg. 4kb), the block header may
state that the block is in fact larger.

Before, the code would mark the block as `truncated`, noting

     // Its OK during sequential scan for an index block to have been
     // partially read and be truncated in-memory. This happens when
     // the index block is larger than the file's blockSize. Caller
     // will break out of its scan loop once it sees the blockType.

This looks like either

* a remnant of never-implemented functionality. There is no reason to
  ever sequentially scan an index block.

* alluding to sequential scan of the data blocks before the index
  blocks (eg. scanning refs, which ends when we find the first ref index
  block, and we can then ignore the index block).

This comment is followed by code that populates the
restartTbl/restartCnt fields relative to the (possibly truncated)
buffer. If the buffer is truncated, this essentially reads garbage,
leading to OOB array access when using the index block.

Fix this by dropping the truncated logic and issuing a second read if
the first read was short.

Add a test.

We have never observed this failure scenario at Google. We use 64kb
blocksize, which requires us to need fewer index entries. The reftable
spec mentions an Android repo of size 36M. With 64kb blocks, that's
just 562 index entries. Even with historical growth, we are long from
requiring an index whose size exceeds a single block.

When adding the analogous test for seeking refs, there was no failure.
This points to another possibility which is that the code tries to
avoid writing large index blocks for refs.

I did not investigate further which one it is.

Fixes https://bugs.eclipse.org/bugs/show_bug.cgi?id=576250

Bug: 576250
Change-Id: I41ec21fac9e526ef57b3d6fb57b988bd353ee338
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
3 years agoreftable: pass on invalid object ID in conversion 56/185856/2
Han-Wen Nienhuys [Mon, 27 Sep 2021 14:07:27 +0000 (16:07 +0200)]
reftable: pass on invalid object ID in conversion

Before, while trying to determine if an object ID was a tag or not,
the reftable conversion would yield an exception.

Change-Id: I3688a0ffa9e774ba27f320e3840ff8cada21ecf0

3 years agoUpdate eclipse-jarsigner-plugin to 1.3.2 54/185754/1
Matthias Sohn [Mon, 20 Sep 2021 22:18:03 +0000 (00:18 +0200)]
Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: Id5d05d96c392913de7b4451421c2ffb7b63ab83f
(cherry picked from commit c70c0acb4752f00672e3b856539587e4977bfaea)

3 years agoFix running benchmarks from bazel 55/185855/2
Matthias Sohn [Mon, 27 Sep 2021 13:53:30 +0000 (15:53 +0200)]
Fix running benchmarks from bazel

add missing dependency to
- javaewah
- slf4j-api

Change-Id: I28dc982791b32f10d20b2fd0671aa8d2514a0fb3

3 years agoUpdate eclipse-jarsigner-plugin to 1.3.2 43/185643/2
Matthias Sohn [Mon, 20 Sep 2021 22:18:03 +0000 (00:18 +0200)]
Update eclipse-jarsigner-plugin to 1.3.2

Change-Id: Id5d05d96c392913de7b4451421c2ffb7b63ab83f

3 years agoAdd org.bouncycastle.bcutil to p2 repository 11/185611/1
Matthias Sohn [Mon, 20 Sep 2021 14:41:17 +0000 (16:41 +0200)]
Add org.bouncycastle.bcutil to p2 repository

Bug: 575621
Change-Id: I57de7af9f9b236cac570d9c10c3d1c3886720868

3 years agoPrepare 5.13.1-SNAPSHOT builds 70/185170/1
Matthias Sohn [Wed, 8 Sep 2021 18:24:36 +0000 (20:24 +0200)]
Prepare 5.13.1-SNAPSHOT builds

Change-Id: Ib2f689d8d13eab022da5b5e83d6d6bebc1bb81d3

3 years agoJGit v5.13.0.202109080827-r 48/185148/1 v5.13.0.202109080827-r
Matthias Sohn [Wed, 8 Sep 2021 12:27:06 +0000 (14:27 +0200)]
JGit v5.13.0.202109080827-r

Change-Id: If3b2d4256712cc7e577c23e75c0d4ad940870e72
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
3 years agoMerge branch 'master' into stable-5.13 82/184982/1
Matthias Sohn [Sat, 4 Sep 2021 09:45:33 +0000 (11:45 +0200)]
Merge branch 'master' into stable-5.13

* master:
  Revert "DFS block cache: Refactor to enable parallel index loading"

Change-Id: Ifd7cf7a366bf682da6e92ac9dd416bd88e9f1654

3 years agoRevert "DFS block cache: Refactor to enable parallel index loading" 78/184978/2
Minh Thai [Fri, 3 Sep 2021 20:48:57 +0000 (13:48 -0700)]
Revert "DFS block cache: Refactor to enable parallel index loading"

This reverts commit 3cd7eb1b23dcf3d0477e8cd22a57f1b799a5ba5f.

Change-Id: I71ce68ce19503f0f9ad83069dc53eba6ab2c489b
Signed-off-by: Minh Thai <mthai@google.com>
3 years agoPrepare 5.13.0-SNAPSHOT builds 82/184882/1
Matthias Sohn [Wed, 1 Sep 2021 18:00:56 +0000 (20:00 +0200)]
Prepare 5.13.0-SNAPSHOT builds

Change-Id: I2a1d7ab24d5ca718348f4ce3cda351553e48cd1f

3 years agoJGit v5.13.0.202109011149-rc1 66/184866/1 v5.13.0.202109011149-rc1
Matthias Sohn [Wed, 1 Sep 2021 14:49:12 +0000 (16:49 +0200)]
JGit v5.13.0.202109011149-rc1

Change-Id: Id8d0970102f18e61a2fc7cf941267c9089d71c1a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
3 years agoMerge branch 'master' into stable-5.13 62/184862/1
Matthias Sohn [Wed, 1 Sep 2021 14:31:13 +0000 (16:31 +0200)]
Merge branch 'master' into stable-5.13

* master:
  GitServlet: allow to override default error handlers
  Silence API error for new interface method ProtocolV2Hook#onObjectInfo
  transport: add object-info capability
  Ignore IllegalStateException if JVM is already shutting down
  Update orbit to R20210825222808 for 2021-09
  RevWalk: getMergedInto's result is wrong on the second call

Change-Id: I007882d0c663e406d8845cc807f3792ae7673230

3 years agoMerge branch 'stable-5.12' 61/184861/1
Matthias Sohn [Wed, 1 Sep 2021 14:23:47 +0000 (16:23 +0200)]
Merge branch 'stable-5.12'

* stable-5.12:
  GitServlet: allow to override default error handlers

Change-Id: I4710cec30c58d7a6525a42dc5f1fdffc912ed073

3 years agoMerge branch 'stable-5.11' into stable-5.12 60/184860/1
Matthias Sohn [Wed, 1 Sep 2021 14:22:21 +0000 (16:22 +0200)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  GitServlet: allow to override default error handlers

Change-Id: I65c01857ab42ec3023da16e6816d58e1a36e40e4

3 years agoMerge branch 'stable-5.10' into stable-5.11 58/184858/1
Matthias Sohn [Wed, 1 Sep 2021 14:08:03 +0000 (16:08 +0200)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  GitServlet: allow to override default error handlers

Change-Id: If10a99bcdc91105059b15a1d137dd38af228c58d

3 years agoMerge branch 'stable-5.9' into stable-5.10 57/184857/1
Matthias Sohn [Wed, 1 Sep 2021 13:55:58 +0000 (15:55 +0200)]
Merge branch 'stable-5.9' into stable-5.10

* stable-5.9:
  GitServlet: allow to override default error handlers

Change-Id: I55273087f8a67762130728eaaf635519c25255b3

3 years agoGitServlet: allow to override default error handlers 43/184843/3
Antonio Barone [Wed, 1 Sep 2021 10:04:07 +0000 (12:04 +0200)]
GitServlet: allow to override default error handlers

GitServlet delegates repository access over HTTP to the GitFilter
servlet.

GitServlet, in turn, can be extended by jgit consumers to provide custom
logic when handling such operations.

This is the case, for example, with Gerrit Code Review, which provides
custom behavior with a GitOverHttpServlet [1].

Among possible customizations, the ability of specifying a custom error
handler for UploadPack and ReceivePack was already introduced in
GitFilter by Idd3b87d6b and I9c708aa5a2, respectively.

However the `setUploadPackErrorHandler` and `setReceivePackErrorHandler`
methods were never added to the GitServlet.

Expose the `setUploadPackErrorHandler` and `setReceivePackErrorHandler`
methods to the GitServlet, so that consumers of the jgit library might
specify custom error handlers.

[1] https://gerrit.googlesource.com/gerrit/+/refs/heads/stable-3.2/java/com/google/gerrit/httpd/GitOverHttpServlet.java#95

Change-Id: I712d485ff68b662b48c71ef75650c5a155950d23

3 years agoSilence API error for new interface method ProtocolV2Hook#onObjectInfo 54/184854/1
Matthias Sohn [Wed, 1 Sep 2021 12:50:48 +0000 (14:50 +0200)]
Silence API error for new interface method ProtocolV2Hook#onObjectInfo

Change-Id: Ie4d09db2b89f26bc6ceb4e84f10c7e66b0ff684f

3 years agotransport: add object-info capability 83/183183/23
Bruno Albuquerque [Fri, 16 Jul 2021 18:44:46 +0000 (11:44 -0700)]
transport: add object-info capability

Sometimes it is useful to obtain metadata associated with an object
without the need to first download it locally. This is specially useful
when using partial clones.

This change implements the object-info capability that allows clients to
query the remote server for object metadata (currently only size). This
is a backport of the same capability that was recently added to the Git
project a2ba162cda (object-info: support for retrieving object info,
2021-04-20).

Signed-off-by: Bruno Albuquerque <bga@google.com>
Change-Id: I4dc9828e1c247f08b0976b8810be92d124366165

3 years agoMerge branch 'stable-5.12' 81/184781/1
Matthias Sohn [Mon, 30 Aug 2021 20:25:02 +0000 (22:25 +0200)]
Merge branch 'stable-5.12'

* stable-5.12:
  RevWalk: getMergedInto's result is wrong on the second call

Change-Id: Iee51703b2b009df15c0d8ee19fd480058b665bce

3 years agoIgnore IllegalStateException if JVM is already shutting down 25/183925/4
Matthias Sohn [Thu, 12 Aug 2021 07:28:04 +0000 (09:28 +0200)]
Ignore IllegalStateException if JVM is already shutting down

Trying to register/unregister a shutdown hook when the JVM is already in
shutdown throws an IllegalStateException. Ignore this exception since we
can't do anything about it.

Bug: 575367
Change-Id: Ic967c16c7f566c84778795315ab369e76668b364

3 years agoUpdate orbit to R20210825222808 for 2021-09 94/184494/1
Matthias Sohn [Thu, 26 Aug 2021 18:42:26 +0000 (20:42 +0200)]
Update orbit to R20210825222808 for 2021-09

Change-Id: I5a98f2134d19c3495d7d39cccfd7cf6f07640bd5

3 years agoPrepare 5.13.0-SNAPSHOT builds 31/184431/1
Matthias Sohn [Wed, 25 Aug 2021 20:33:09 +0000 (22:33 +0200)]
Prepare 5.13.0-SNAPSHOT builds

Change-Id: I6db044fdd57b60adbc2dd078c4af8cb54bb331c3

3 years agoJGit v5.13.0.202108250949-m3 07/184407/1 v5.13.0.202108250949-m3
Matthias Sohn [Wed, 25 Aug 2021 13:49:20 +0000 (15:49 +0200)]
JGit v5.13.0.202108250949-m3

Change-Id: Icc079b28327f5a02256f9a06837c2be6352ea6e3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
3 years agoUpdate spotbugs-maven-plugin to 4.3.0 81/182981/4
Marco Miller [Mon, 12 Jul 2021 12:53:36 +0000 (08:53 -0400)]
Update spotbugs-maven-plugin to 4.3.0

Change-Id: Iafb680923cbc6c81067773159a9a0e2fcdc60169
Signed-off-by: Marco Miller <marco.miller@ericsson.com>
3 years agoUpdate ant to 1.10.11 also in pom.xml 47/184347/1
Matthias Sohn [Tue, 24 Aug 2021 08:25:29 +0000 (10:25 +0200)]
Update ant to 1.10.11 also in pom.xml

This was missed when the target platform was updated to use ant 1.10.11
in cf9baedb5d.

Change-Id: I0d503fa4b27df73a7dad68f1b729346596d78332

3 years agoDFS block cache: add additional stats to DfsReaderIoStats 63/184163/5
Alina Djamankulova [Tue, 17 Aug 2021 16:56:06 +0000 (09:56 -0700)]
DFS block cache: add additional stats to DfsReaderIoStats

New stats are populated in DfsPackFile to provide details about loading
pack, bitmap and reverse indexes.

Signed-off-by: Alina Djamankulova <adjama@google.com>
Change-Id: Ib6e8384ecc31821261e5099d0768c0b1227e8364

3 years agoUpdate Orbit to S20210817231813 00/184300/2
Matthias Sohn [Mon, 23 Aug 2021 08:01:14 +0000 (10:01 +0200)]
Update Orbit to S20210817231813

and org.apache.ant to 1.10.11.v20210720-1445

Change-Id: Ic9c2f42628e47fffc99a07d591bc465b4e24b86e

3 years ago[gpg] Better GPG home directory determination 89/184189/2
Thomas Wolf [Tue, 10 Aug 2021 21:26:42 +0000 (23:26 +0200)]
[gpg] Better GPG home directory determination

GPG can use customized directories instead of the standard ~/.gnupg or
%APPDATA%\gnupg directories:

* Environment variable GNUPGHOME can define the location.
* On Windows, a registry key may define the location (but this is
  deprecated).
* Portable installations may use a directory defined via a file
  "gpgconf.ctl".
* GPG programs may take a --homedir command-line argument, which
  overrides anything.

Implement handling of environment variable GNUPGHOME. The other ways of
GPG to get its home directory are outside the reach of JGit. Provide a
system property "jgit.gpg.home" that the user can set in such cases.

Do tilde replacement for the system property and for GNUPGHOME.

Note that on VMS, the default directory would be ~/gnupg (without dot).
This is not accounted for, but a user on VMS could now use either the
system property or GNUPGHOME to direct JGit to the right directory.

Bug: 575327
Change-Id: Id5ea04a85d58dba0c0df7a705777630d36042467
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoFS: cleanup use of final modifier 49/184049/3
Matthias Sohn [Fri, 13 Aug 2021 07:47:34 +0000 (09:47 +0200)]
FS: cleanup use of final modifier

See the contributor guide [1].

[1] https://wiki.eclipse.org/EGit/Contributor_Guide#Use_of_the_.22final.22_modifier

Change-Id: I4673442310a3a53d838407f7eb11964144bb04d0

3 years agoEnsure FS#searchPath only selects executable files 48/184048/2
Matthias Sohn [Fri, 13 Aug 2021 07:36:26 +0000 (09:36 +0200)]
Ensure FS#searchPath only selects executable files

On Posix non executable files on the path should be ignored, on Windows
File#canExecute always returns true.

While we are here also add missing braces.

Bug: 575385
Change-Id: I80cd5057bdf9632a17f103db6f1356e975b6e150

3 years agoRevWalk: getMergedInto's result is wrong on the second call 60/183960/2
kylezhao [Thu, 12 Aug 2021 11:37:58 +0000 (19:37 +0800)]
RevWalk: getMergedInto's result is wrong on the second call

Make sure the future user can reset all UNINTERESTING commmits after
this operation.

Signed-off-by: kylezhao <kylezhao@tencent.com>
Change-Id: I7549b9ff67bd31acd5dfc92331cb9a30b47b8278

3 years agoDFS block cache: Refactor to enable parallel index loading 62/183562/10
Alina Djamankulova [Fri, 30 Jul 2021 20:36:15 +0000 (13:36 -0700)]
DFS block cache: Refactor to enable parallel index loading

With this change bitmap index creation is not blocked on index and
reverse index full initialization in DfsPackFile. Now bitmap index and index could be
read from storage in parallel in separate threads.

Update PackBitmapIndexV1 constructor to get packIndex and reverseIndex
suppliers instead of actual objects. Inner class IdxPositionBitmap was added to initialize pack objects after bitmap
index is fully read from storage. Update DfsPackFile and PackBitmapIndex
accordingly.

Signed-off-by: Alina Djamankulova <adjama@google.com>
Change-Id: Iea59ab58501b2acbbf9263412982ec9c6898a7ee

3 years agoMerge branch 'stable-5.12' 27/183527/1
Thomas Wolf [Thu, 29 Jul 2021 11:12:40 +0000 (13:12 +0200)]
Merge branch 'stable-5.12'

* stable-5.12:
  [test] Create keystore with the keytool of the running JDK
  Fix garbage collection failing to delete pack file
  ReachabilityCheckerTestCase: fix reachable from self test case

Change-Id: I4b54f4850819736144edb784617ee902f491ffd6
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoMerge branch 'stable-5.11' into stable-5.12 84/183484/1
Thomas Wolf [Thu, 29 Jul 2021 11:11:54 +0000 (13:11 +0200)]
Merge branch 'stable-5.11' into stable-5.12

* stable-5.11:
  [test] Create keystore with the keytool of the running JDK
  ReachabilityCheckerTestCase: fix reachable from self test case

Change-Id: Ie8db450a1fad05bddb812a55b2ceb03b2805403a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 years agoMerge branch 'stable-5.10' into stable-5.11 83/183483/1
Thomas Wolf [Thu, 29 Jul 2021 11:11:08 +0000 (13:11 +0200)]
Merge branch 'stable-5.10' into stable-5.11

* stable-5.10:
  [test] Create keystore with the keytool of the running JDK
  ReachabilityCheckerTestCase: fix reachable from self test case

Change-Id: I55f4dd19e9fa3b789bd9a79d256fe9abb55ee7f4
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>