]> source.dussan.org Git - jgit.git/log
jgit.git
5 years agoBitmapCalculator and its test: add missing license header 40/142640/1
Matthias Sohn [Thu, 23 May 2019 00:12:16 +0000 (02:12 +0200)]
BitmapCalculator and its test: add missing license header

Change-Id: I3c4a8b1e9159b0553aa95213bb82628370b6c036
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoRevWalk: new method createReachabilityChecker() 68/142468/6
Ivan Frade [Tue, 21 May 2019 00:14:22 +0000 (17:14 -0700)]
RevWalk: new method createReachabilityChecker()

Every caller would need to check if bitmaps are available in the repo to
instantiate a reachability checker.

Offer a method to create the reachability checker in the walk: the
caller has already a walk over the repo, and the walk has all the
information required.

This allows us to make the implementation classes package-private.

Change-Id: I355e47486fcd9d55baa7cb5700ec08dcc230eea5
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoReachabilityCheckers: @since 5.4 65/142465/3
Ivan Frade [Mon, 20 May 2019 23:46:47 +0000 (16:46 -0700)]
ReachabilityCheckers: @since 5.4

The new ReachabilityChecker interface and its implementations are marked
as @since 5.5, but they will make it to the 5.4 release.

Change-Id: I88c31b3300ccf35d18c35faddb2517f0a57bdcfd
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoUpdate Orbit to S20190521195709 for 2019-06 M3 03/142603/1
Matthias Sohn [Wed, 22 May 2019 15:34:58 +0000 (17:34 +0200)]
Update Orbit to S20190521195709 for 2019-06 M3

Update
- org.apache.ant to 1.10.6.v20190516-0412 (CQ 19829)
- org.apache.httpcomponents.httpclient to 4.5.6.v20190503-0009

CQ: 19829
Change-Id: Ia057d4f07dab21374ca66c3d87a2bab1c795562c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoTune max heap size for tests 90/142590/1
Matthias Sohn [Wed, 22 May 2019 12:42:43 +0000 (14:42 +0200)]
Tune max heap size for tests

This is an attempt to fix crashes observed on the new Jenkins
infrastructure running on Kubernetes [1].

Increase it to 512m for
- org.eclipse.jgit.ant.test
- org.eclipse.jgit.http.test
- org.eclipse.jgit.lfs.server.test
- org.eclipse.jgit.lfs.test
- org.eclipse.jgit.pgm.test

Decrease it to 768m for
- org.eclipse.jgit.test

[1] e.g. https://ci-staging.eclipse.org/jgit/job/stable/job/jgit.gerrit/16074/console

Change-Id: Id074ed0f7bcb8a13da649a547342af2a08439d9f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoGPG: check that the key found is a signing key 33/142533/1
Thomas Wolf [Tue, 21 May 2019 16:09:37 +0000 (18:09 +0200)]
GPG: check that the key found is a signing key

Throw an exception if not.

Change-Id: I60f36b271d5f44c6dc475302b169cb5b8a1e3945
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoGPG: use key fingerprint suffix to compare id for signing key 32/142532/1
Thomas Wolf [Tue, 21 May 2019 16:08:48 +0000 (18:08 +0200)]
GPG: use key fingerprint suffix to compare id for signing key

Check whether the value of the git config user.signingKey is a suffix
of the full fingerprint of the key. This was already used for finding
keys in secring.gpg, but not in pubring.kbx. This mechanism allows a
user to use any unique suffix to identify keys; to avoid needless
collisions it's recommended to use at least the last 16 characters of
the hex representation of the fingerprint, which is the key id.[1]

[1] https://tools.ietf.org/html/rfc4880#section-12.2

Bug: 545673
Change-Id: If6fb4879502b6ee4b8c26c21b2714aeac4e4670c
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoMerge "Recognize ReachabilityCheckerTestCase as helper"
Jonathan Nieder [Tue, 21 May 2019 03:14:34 +0000 (23:14 -0400)]
Merge "Recognize ReachabilityCheckerTestCase as helper"

5 years agoRecognize ReachabilityCheckerTestCase as helper 67/142467/1
Jonathan Tan [Tue, 21 May 2019 00:02:07 +0000 (17:02 -0700)]
Recognize ReachabilityCheckerTestCase as helper

4e196faa1b ("ReachabilityChecker: Default implementation with a
RevWalk", 2019-05-15) added ReachabilityCheckerTestCase but did not add
it as a test helper in the corresponding BUILD file, making tests no
longer runnable with Bazel. Resolve this issue.

Change-Id: Iccc00b0d169dbaa137e130ce2ddd1b7669960b52
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
5 years agoUploadPack: restore inadvertently deleted line 62/142462/1
Jonathan Tan [Mon, 20 May 2019 23:22:31 +0000 (16:22 -0700)]
UploadPack: restore inadvertently deleted line

In 7b96bd812e ("UploadPack: Use reachability checker to validate
non-advertised wants", 2019-05-16), a "walk.setRetainBody(false);"
statement was inadvertently deleted. (An earlier version of this commit
had this line in another part of the code and a review comment suggested
to move it back here; the line was then deleted from the other part of
the code but not readded.) Restore this line.

Change-Id: I96ff6106ba9e4eef429388c83e898b3363295f69
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
5 years agoMerge changes from topic 'reachability-2'
Jonathan Tan [Mon, 20 May 2019 20:04:28 +0000 (16:04 -0400)]
Merge changes from topic 'reachability-2'

* changes:
  UploadPack: Use reachability checker to validate non-advertised wants
  BitmappedReachabilityChecker: Reachability check using bitmaps
  BitmapCalculator: Get the reachability bitmap of a commit
  ReachabilityChecker: Default implementation with a RevWalk

5 years agoUploadPack: Use reachability checker to validate non-advertised wants 46/141846/5
Ivan Frade [Wed, 8 May 2019 23:43:04 +0000 (16:43 -0700)]
UploadPack: Use reachability checker to validate non-advertised wants

In "Reachable commit" request validators, we need to check that a "want"
in the request, that hasn't been advertised, is reachable from the refs
visible to the user.

Current code has intermixed the translation of ObjectIds to RevCommits
(and its error handling) with the actual walk, with the delegation to
bitmaps in restricted circunstances.

Refactor the code to make it "flatter" and more readable. Move ObjectIds
to RevCommits translation to its own functions. Use the reachability
checker instead of a newly defined walk.

Before the non-advertised wants were validated with bitmaps only if any
"want" refered to an non-commit. Now they will be validated with bitmaps
also if the "wants" refer all to commits.

Change-Id: Ib925a48cde89672b07a88bba4e24d0457546baff
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoBazel: Simplify names of bouncy castle libraries 72/142272/1
David Ostrovsky [Thu, 16 May 2019 16:56:12 +0000 (18:56 +0200)]
Bazel: Simplify names of bouncy castle libraries

Name bouncy castle libraries consistently. This also allows to use
local jgit tree as dependency in gerrit.

Change-Id: Ie0a995a70ecee907d25b3cdda9034a25c0290efe
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
5 years agoConvert to lambda or member reference 62/140162/14
Carsten Hammer [Sat, 6 Apr 2019 18:13:26 +0000 (20:13 +0200)]
Convert to lambda or member reference

Convert anonymous inner classes to lambda expressions or member
references

Bug: 545856
CQ: 19537
Change-Id: I621431c178e8b99316314602f7c66c9a36f9ae98
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoBitmappedReachabilityChecker: Reachability check using bitmaps 58/140958/10
Ivan Frade [Mon, 22 Apr 2019 22:38:45 +0000 (15:38 -0700)]
BitmappedReachabilityChecker: Reachability check using bitmaps

The "basic" reachability check walks the graph starting from the tips
marking things as "uninteresting". If the target commit is marked as
"uninteresting" it was reached; it is reachable from those tips.

This requires a lot of walking and can be solved directly with bitmaps.
Most of the time the bitmaps are already calculated or a short walk
away.

This should improve the performance of reachability checks, for example
in Gitiles.

Change-Id: I83d33271f58d95d2dc9ed151967b3eda513c99f7
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoBitmapCalculator: Get the reachability bitmap of a commit 33/141733/4
Ivan Frade [Tue, 7 May 2019 03:39:18 +0000 (20:39 -0700)]
BitmapCalculator: Get the reachability bitmap of a commit

To make reachability checks with bitmaps, we need to get the
reachability bitmap of a commit, which is not always precalculated.

There is already a class returning such bitmap (BitmapWalker) but it
does too much unnecessary work: it calculates ALL reachable objects from
a commit (i.e. including trees and blobs), when for reachability the
commits are just enough.

Introduce BitmapCalculator to get the bitmap of a commit: either because
it is precalculated or generating it with a walk only over commits.

Change-Id: Ibb6c78affe9eeaf1fa362a06daf4fd2d91c1caea
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoReachabilityChecker: Default implementation with a RevWalk 56/140956/6
Ivan Frade [Mon, 22 Apr 2019 18:37:43 +0000 (11:37 -0700)]
ReachabilityChecker: Default implementation with a RevWalk

It is common to check if a certain commit is reachable from some
starting points. For example gitiles does it to check if a commit
is visible to a user based on its permissions.

Offer this functionality in JGit.

Split the interface as the next commit will introduce an implementation
using bitmap indices.

Change-Id: I0933b305c8d734f7a64502910ff4d9ef4fc92ae1
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoApache MINA sshd client: test reading encrypted ed25519 keys 56/141356/2
Thomas Wolf [Tue, 15 Jan 2019 18:50:12 +0000 (19:50 +0100)]
Apache MINA sshd client: test reading encrypted ed25519 keys

Add encrypted ed25519 keys in the tests; sshd 2.2.0 can finally
decrypt encrypted new-style OpenSSH key files. (Needs the "unlimited
strength" JCE, which is the default since Java 8u161. On older JREs,
users should install the policy files available from Oracle.)

The "expensive" key added has been generated with OpenSSH's
ssh-keygen -t ed25519 -a 256, i.e., with 256 bcrypt KDF rounds
instead of the default 16. On my machine it takes about 2sec to
decrypt.

Bug: 541703
Change-Id: Id3872ca2fd75d8f009cbc932eeb6357d3d1f267c
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoApache MINA sshd client: adapt to sshd 2.2.0 55/141355/2
Thomas Wolf [Mon, 14 Jan 2019 16:30:03 +0000 (17:30 +0100)]
Apache MINA sshd client: adapt to sshd 2.2.0

Update target platforms, maven and bazel builds to use sshd 2.2.0.

Adapt internal classes to changed sshd interfaces and remove previous
work-arounds for asking repeatedly for key passwords and for loading
keys lazily; both are now done by sshd.

CQ: 19034
CQ: 19035
Bug: 541425
Change-Id: I85e1df6ebb8a94953a912d9b2b8a7b5bdfbd608a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUpdate Orbit to S20190501151401 for 2019-06 M2 60/141660/1
Matthias Sohn [Mon, 6 May 2019 13:10:42 +0000 (15:10 +0200)]
Update Orbit to S20190501151401 for 2019-06 M2

Change-Id: Ice7ba783c1836682d237e7b50bded90ceaa8b564
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUpgrade maven-compiler-plugin to 3.8.1 10/141610/4
David Pursehouse [Sun, 5 May 2019 05:42:23 +0000 (14:42 +0900)]
Upgrade maven-compiler-plugin to 3.8.1

Change-Id: I40c9b637f8a877764e48bbfc8255d4e406f62468
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUpgrade surefire plugins version to 2.22.2 09/141609/3
David Pursehouse [Sun, 5 May 2019 05:40:23 +0000 (14:40 +0900)]
Upgrade surefire plugins version to 2.22.2

Change-Id: I5ee3eebc54789ffaf87964446591e5d65cca6b93
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUse integer depth in PackWriter's DepthAwareVisitationPolicy 48/141548/2
Matthias Sohn [Thu, 2 May 2019 22:23:01 +0000 (00:23 +0200)]
Use integer depth in PackWriter's DepthAwareVisitationPolicy

- ObjectWalk.getTreeDepth() returns int hence there is no need to use
long depths in the lowestDepthVisited map.
- Also fix boxing warnings introduced in 0a15cb3a.

Change-Id: I6d73b6f41d5d20975d02f376c8588e411eaff0ec
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUpgrade Tycho to 1.4.0 for eclipse build 92/140692/2
Michael Keppler [Tue, 16 Apr 2019 15:43:24 +0000 (16:43 +0100)]
Upgrade Tycho to 1.4.0 for eclipse build

Change-Id: I8893be53a5b45e1f4c177ff002b94c887576f128
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
5 years agoSubmoduleWalk#forPath: Clarify that caller must close returned instance 73/140573/5
David Pursehouse [Sun, 14 Apr 2019 23:19:43 +0000 (08:19 +0900)]
SubmoduleWalk#forPath: Clarify that caller must close returned instance

Change-Id: I25e7913a78c23c030a8c568975ee1044a9973517
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoConfigConstants: Fix quoting of section names in javadocs 60/140460/6
David Pursehouse [Fri, 12 Apr 2019 00:51:11 +0000 (09:51 +0900)]
ConfigConstants: Fix quoting of section names in javadocs

Replace:

 in the "core section"
 in the "diff section"
 in the "merge section"

with:

 in the "core" section
 in the "diff" section
 in the "merge" section

Change-Id: Ided7bf73e9c8aae4fc4e43d5d5b9f6d7e3066f0a
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUpgrade maven-pmd-plugin to 3.12.0 36/140936/3
David Pursehouse [Mon, 22 Apr 2019 10:43:02 +0000 (19:43 +0900)]
Upgrade maven-pmd-plugin to 3.12.0

Change-Id: I5ae0f0573aae3da3789fecdad494a2dd243e780b
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoSilence API errors and add missing @since tags caused by 175e6654 01/141301/3
Matthias Sohn [Sun, 28 Apr 2019 21:34:04 +0000 (23:34 +0200)]
Silence API errors and add missing @since tags caused by 175e6654

Change-Id: If55acad84015f988f1e974bc19c426828b98822b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.3' 81/141281/3
Matthias Sohn [Sat, 27 Apr 2019 23:09:55 +0000 (01:09 +0200)]
Merge branch 'stable-5.3'

* stable-5.3:
  Prepare 5.3.2-SNAPSHOT builds
  JGit v5.3.1.201904271842-r
  Prepare 5.2.3-SNAPSHOT builds
  JGit v5.2.2.201904231744-r
  Revert 4678f4b and provide another solution for bug 467631
  Apache MINA sshd: make sendKexInit() work also for re-keying
  Prepare 5.1.8-SNAPSHOT builds
  JGit v5.1.7.201904200442-r
  ObjectUploadListener: Add callback interface
  Prepare 4.11.9-SNAPSHOT builds
  JGit v4.11.8.201904181247-r
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I8a8671f7767444a77b809bd66a27d776c8332736
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 5.3.2-SNAPSHOT builds 80/141280/1
Matthias Sohn [Sat, 27 Apr 2019 22:54:08 +0000 (00:54 +0200)]
Prepare 5.3.2-SNAPSHOT builds

Change-Id: Iedd56602acc89783387098c7f92ce0e5bad091e0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v5.3.1.201904271842-r 79/141279/1 v5.3.1.201904271842-r
Matthias Sohn [Sat, 27 Apr 2019 22:41:59 +0000 (00:41 +0200)]
JGit v5.3.1.201904271842-r

Change-Id: If3c323acfd2b6933f7d4fbec480cd4e82224f701
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.2' into stable-5.3 77/141277/2
Matthias Sohn [Sat, 27 Apr 2019 22:21:16 +0000 (00:21 +0200)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Prepare 5.2.3-SNAPSHOT builds
  JGit v5.2.2.201904231744-r
  Revert 4678f4b and provide another solution for bug 467631
  Apache MINA sshd: make sendKexInit() work also for re-keying
  Prepare 5.1.8-SNAPSHOT builds
  JGit v5.1.7.201904200442-r
  ObjectUploadListener: Add callback interface
  Prepare 4.11.9-SNAPSHOT builds
  JGit v4.11.8.201904181247-r
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: Ie7e572ac7e346f21fe0c387d7448be168a9c127a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years ago[releng] Update the japicmp baseline to 5.3.0.201903130848-r 50/140950/2
Thomas Wolf [Mon, 22 Apr 2019 18:28:19 +0000 (20:28 +0200)]
[releng] Update the japicmp baseline to 5.3.0.201903130848-r

Change-Id: Ie69cc0885317705aaee7d107875e6aa9f430b5eb
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoUpdate target platform, maven and bazel builds to JSch 0.1.55 23/141023/2
Thomas Wolf [Mon, 22 Apr 2019 15:21:06 +0000 (17:21 +0200)]
Update target platform, maven and bazel builds to JSch 0.1.55

Same version as used in the latest Eclipse platform. Updating the
JGit target platform results in the new JSch version being included
in the JGit feature in the p2 repo, and thus ultimately in the EGit
update site.

CQ: 19588
Bug: 546130
Change-Id: Id7e4318096f6f29dc4573e15542abdf54582af34
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoPrepare 5.2.3-SNAPSHOT builds 25/141025/1
Matthias Sohn [Tue, 23 Apr 2019 22:04:44 +0000 (00:04 +0200)]
Prepare 5.2.3-SNAPSHOT builds

Change-Id: I6ae3db901d986467128326073d4ba70406ae8385
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v5.2.2.201904231744-r 24/141024/1 v5.2.2.201904231744-r
Matthias Sohn [Tue, 23 Apr 2019 21:43:50 +0000 (23:43 +0200)]
JGit v5.2.2.201904231744-r

Change-Id: I4ed2aff28bff702a8c1b42814acb04c7ef9025a7
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoRevert 4678f4b and provide another solution for bug 467631 42/138442/3
Thomas Wolf [Sun, 10 Mar 2019 17:02:54 +0000 (18:02 +0100)]
Revert 4678f4b and provide another solution for bug 467631

Making gitlinks and folders match in a tree walk was the wrong
approach to fix bug 467631. The problem is that in such a conflict
the tree walk may then not descend into the folder.

Revert the changes to Paths.java and PathsTest.java from commit
4678f4b. Instead test for the problem case from bug 467631 explicitly
in IndexDiff. Add Daniel's test case from bug 545162, and add yet
another test case for DiffEntry.scan() that covers the problem
originally reported in bug 545162.

Bug: 545162
Change-Id: Ie2214c5d5ee32ac6596b621f0f1c7b86d38fa9b7
Also-by: Daniel Veihelmann <daniel.veihelmann@gmail.com>
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoApache MINA sshd: make sendKexInit() work also for re-keying 87/139887/3
Thomas Wolf [Tue, 2 Apr 2019 10:34:26 +0000 (12:34 +0200)]
Apache MINA sshd: make sendKexInit() work also for re-keying

The message delaying for the initial SSH messages (client
identification followed by the initial key exchange request)
was broken. sendKexInit() is _also_ called when a new key exchange
is requested. We inadvertently also re-sent the client identification
at that point, which is wrong and makes the server terminate the
connection.

Re-keying occurs from time to time during an SSH connection depending
on time, the number of messages (packets/blocks) exchanged, or the
amount of data exchanged. The net result was that for large
repositories data-intensive operations failed on the first re-keying.

Change the initial message delay such that the two messages for the
client identification and the initial key exchange can be buffered
individually while the proxy protocol is still in progress. The
AbstractClientProxyConnector can now buffer several commands, which
should also resolve bug 544715.

Bug: 545920
Change-Id: If09ee963a439b39098a0f52a1510237b428df8dd
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoMerge branch 'stable-5.1' into stable-5.2 02/140902/2
Matthias Sohn [Sat, 20 Apr 2019 09:16:34 +0000 (11:16 +0200)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Prepare 5.1.8-SNAPSHOT builds
  JGit v5.1.7.201904200442-r
  ObjectUploadListener: Add callback interface
  Prepare 4.11.9-SNAPSHOT builds
  JGit v4.11.8.201904181247-r
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I76761002eedf360e93d0559942ebc927a40428d6
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 5.1.8-SNAPSHOT builds 06/140906/1
Matthias Sohn [Sat, 20 Apr 2019 08:51:17 +0000 (10:51 +0200)]
Prepare 5.1.8-SNAPSHOT builds

Change-Id: I331bbaefd42ef94673ae8565c9b2b3af9eadfda0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v5.1.7.201904200442-r 04/140904/1 v5.1.7.201904200442-r
Matthias Sohn [Sat, 20 Apr 2019 08:42:58 +0000 (10:42 +0200)]
JGit v5.1.7.201904200442-r

Change-Id: Ifaa3a88c5e117912a8c691b8b8369dd9a17faebb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoObjectUploadListener: Add callback interface 46/140646/4
David Pursehouse [Tue, 16 Apr 2019 04:12:15 +0000 (13:12 +0900)]
ObjectUploadListener: Add callback interface

The callback interface is invoked after object upload was
completed.

Change-Id: I705d8becaf4f35188caf098aa75cff8963d64a60
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoMerge branch 'stable-5.0' into stable-5.1 99/140899/2
Matthias Sohn [Fri, 19 Apr 2019 10:40:27 +0000 (12:40 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 4.11.9-SNAPSHOT builds
  JGit v4.11.8.201904181247-r
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I685d8a797209bc1b9c1bb9caba40ac8713c6ce5b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.11' into stable-5.0 65/140865/1
Matthias Sohn [Fri, 19 Apr 2019 10:35:26 +0000 (12:35 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.11.9-SNAPSHOT builds
  JGit v4.11.8.201904181247-r
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I9b7f9faf3dc584068456f1ae2cacc4ce5137d4ad
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.11.9-SNAPSHOT builds 63/140863/1
Matthias Sohn [Fri, 19 Apr 2019 10:05:01 +0000 (12:05 +0200)]
Prepare 4.11.9-SNAPSHOT builds

Change-Id: Ie0ef10159bac6daf4db3f68e8c0825bc1608e40f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.11.8.201904181247-r 41/140841/1 v4.11.8.201904181247-r
Matthias Sohn [Thu, 18 Apr 2019 16:47:14 +0000 (18:47 +0200)]
JGit v4.11.8.201904181247-r

Change-Id: I0356bde8fbb789faa74ed3635046f4fd0dce28de
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.10' into stable-4.11 40/140840/1
Matthias Sohn [Thu, 18 Apr 2019 16:44:23 +0000 (18:44 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: Ib2a170e24bddad0e8c9c7be6688269f6318bf30f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.9' into stable-4.10 39/140839/1
Matthias Sohn [Thu, 18 Apr 2019 16:42:45 +0000 (18:42 +0200)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Prepare 4.9.11-SNAPSHOT builds
  JGit v4.9.10.201904181027-r
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I94c9e6300b5f77b185ec6661fa76f0c74a5fc2a9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.9.11-SNAPSHOT builds 38/140838/1
Matthias Sohn [Thu, 18 Apr 2019 16:05:43 +0000 (18:05 +0200)]
Prepare 4.9.11-SNAPSHOT builds

Change-Id: I99137bc4958167773d2fc8b1d48fbb508af52be5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.9.10.201904181027-r 36/140836/1 v4.9.10.201904181027-r
Matthias Sohn [Thu, 18 Apr 2019 14:26:30 +0000 (16:26 +0200)]
JGit v4.9.10.201904181027-r

Change-Id: I3034d1ad263fdfb23347304f866309354930fd19
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.8' into stable-4.9 17/140817/1
Matthias Sohn [Thu, 18 Apr 2019 12:43:23 +0000 (14:43 +0200)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: Idaa789e699f1ef568ea957184d0641355d9e3181

5 years agoMerge branch 'stable-4.7' into stable-4.8 21/140721/1 stable-4.8
Matthias Sohn [Tue, 16 Apr 2019 22:49:03 +0000 (00:49 +0200)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Prepare 4.7.10-SNAPSHOT builds
  JGit v4.7.9.201904161809-r
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I7984f68833f2d615399296e53cb9a64e5b4ca6ed
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.7.10-SNAPSHOT builds 20/140720/1 stable-4.7
Matthias Sohn [Tue, 16 Apr 2019 22:18:13 +0000 (00:18 +0200)]
Prepare 4.7.10-SNAPSHOT builds

Change-Id: I662ee441521c1370a31f274cc6d001723ad0c528
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.7.9.201904161809-r 18/140718/1 v4.7.9.201904161809-r
Matthias Sohn [Tue, 16 Apr 2019 22:08:39 +0000 (00:08 +0200)]
JGit v4.7.9.201904161809-r

Change-Id: Id6e379c3ce52c83455e37cbc3d77db0e188fdb85
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.6' into stable-4.7 17/140717/1
Matthias Sohn [Tue, 16 Apr 2019 21:53:21 +0000 (23:53 +0200)]
Merge branch 'stable-4.6' into stable-4.7

* stable-4.6:
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I6ea51dde6608a4163d681aa1ebf710f06da44b21
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.5' into stable-4.6 16/140716/1 stable-4.6
Matthias Sohn [Mon, 15 Apr 2019 23:04:52 +0000 (01:04 +0200)]
Merge branch 'stable-4.5' into stable-4.6

* stable-4.5:
  Prepare 4.5.8-SNAPSHOT builds
  JGit v4.5.7.201904151645-r
  Remember the cause for invalidating a packfile
  Fix API problem filters
  Fix pack files scan when filesnapshot isn't modified

Change-Id: I0b4eaa521ebdea83ab18c05915d691c07a575a7d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agotree:<depth>: do not revisit tree during packing 59/139659/10
Matthew DeVore [Wed, 27 Mar 2019 21:35:51 +0000 (14:35 -0700)]
tree:<depth>: do not revisit tree during packing

If a tree is visited during pack and filtered out with tree:<depth>, we
may need to include it if it is visited again at a lower depth.

Until now we revisit it no matter what the depth is. Now, avoid
visiting it if it has been visited at a lower or equal depth.

Change-Id: I68cc1d08f1999a8336684a05fe16e7ae51898866
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agotree:<depth> should not traverse overly-deep trees 50/139550/11
Matthew DeVore [Mon, 25 Mar 2019 22:36:35 +0000 (15:36 -0700)]
tree:<depth> should not traverse overly-deep trees

If we are traversing a tree which is too deep, then there is no need to
traverse the children. Skipping children is much faster than traversing
the possibly thousands of objects which are directly or indirectly
referenced by the tree.

Change-Id: I6d68cc1d35da48e3288b9cc80356a281ab36863d
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoPreliminary support for tree:<depth> filter 92/138992/26
Matthew DeVore [Mon, 18 Mar 2019 14:15:52 +0000 (07:15 -0700)]
Preliminary support for tree:<depth> filter

This is used when fetching, and in particular to populate a partial
clone or a virtual file system cache as the user navigates. With this,
a client can pre-fetch a few directories deeper than only the current
directory.

depth:0 will omit all trees, and is useful if you only want to fetch
the commits of a repository, or fetch just a single tree or blob object.
depth:1 will fetch only the root tree of all commits fetched. depth:2
will fetch the root tree and all blobs and tree objects directly
referenced from it. depth:3 gets one more level, and so on. depth:#
will not filter a blob or tree that is explicitly marked wanted.

Bitmaps are disabled when this filter is used.

This implementation is quite slow because it iterates over all omitted
objects rather than skipping them. This will be addressed in follow-up
commits.

Change-Id: Ic312fee22d60e32cfcad59da56980e90ae2cae6a
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoPrepare 4.5.8-SNAPSHOT builds 42/140642/1 stable-4.5
Matthias Sohn [Mon, 15 Apr 2019 22:34:19 +0000 (00:34 +0200)]
Prepare 4.5.8-SNAPSHOT builds

Change-Id: I70628cb8fcad0a60598dc937abbed63606a78599
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.5.7.201904151645-r 29/140629/1 v4.5.7.201904151645-r
Matthias Sohn [Mon, 15 Apr 2019 20:46:38 +0000 (22:46 +0200)]
JGit v4.5.7.201904151645-r

Change-Id: I3e32cf13f5cb99d8e570412d80d941740399c07d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge "Revert "Use try-with-resources in SubmoduleWalk""
Jonathan Nieder [Sun, 14 Apr 2019 16:09:02 +0000 (12:09 -0400)]
Merge "Revert "Use try-with-resources in SubmoduleWalk""

5 years agoRevert "Use try-with-resources in SubmoduleWalk" 61/140561/1
Jonathan Nieder [Sun, 14 Apr 2019 15:00:46 +0000 (11:00 -0400)]
Revert "Use try-with-resources in SubmoduleWalk"

This reverts commit 39b0b51b1253f569888db3578b01708a14360b69. Before
that change, SubmoduleWalk.forPath transferred ownership to the caller
on success. Afterward, it returns a closed SubmoduleWalk to the caller,
which does not appear to be intentional.

Change-Id: I9381daac5153706e24fd9117700089848b58c54e

5 years agoUse Arrays.asList instead of copying array in a for loop 63/140163/9
Carsten Hammer [Sat, 6 Apr 2019 18:42:38 +0000 (20:42 +0200)]
Use Arrays.asList instead of copying array in a for loop

Change-Id: Ie44950f7d2f2f94a0412efb6c274f6e1e31efcd6
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUse try-with-resources in SubmoduleWalk 61/140161/13
Carsten Hammer [Thu, 11 Apr 2019 17:53:55 +0000 (19:53 +0200)]
Use try-with-resources in SubmoduleWalk

Convert try finally block to try-with-resources
Change-Id: Ifd676a2aba3e926bd2f3b6b8fefd5f63564899ed
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUse isEmpty() instead of size()==0 where possible 58/140158/13
Carsten Hammer [Thu, 11 Apr 2019 17:27:34 +0000 (19:27 +0200)]
Use isEmpty() instead of size()==0 where possible

Change-Id: I97f1367a2ea9f1f6146e264c27c3981b842f2a26
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUse jdk 5 for loop 55/140155/14
Carsten Hammer [Sat, 6 Apr 2019 17:16:36 +0000 (19:16 +0200)]
Use jdk 5 for loop

Replace simple uses of Iterator with a corresponding for-loop.
Also add missing braces on loops as necessary.

Change-Id: I708d82acdf194787e3353699c07244c5ac3de189
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJoin catch sections using multicatch 53/140153/18
Carsten Hammer [Sat, 6 Apr 2019 16:16:21 +0000 (18:16 +0200)]
Join catch sections using multicatch

Change-Id: I1a9112e6a4f938638c599b489cb0858eca27ab91
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoProcess unshallow commits first 63/140463/1
Masaya Suzuki [Fri, 12 Apr 2019 02:39:22 +0000 (19:39 -0700)]
Process unshallow commits first

DepthGenerator marks commits reinteresting for the ones that are
reachable from unshallow commits as it walks over the revisions. Those
unshallow commits won't necessarily be processed first. Because of this,
even if a commit is reachable from unshallow commits, if it's processed
before the uninteresting commits, it will not be processed as
reinteresting and processed as uninteresting. This causes unshallow
git-fetch to be failed.

This changes DepthGenerator to process unshallow commits first
independent to their depth. This makes uninteresting flag carry work
properly.

Change-Id: I94378271cf85fbe6302cefc19a167d8cf68e1a69
Signed-off-by: Masaya Suzuki <masayasuzuki@google.com>
5 years agoRemember the cause for invalidating a packfile 88/140288/7
Luca Milanesio [Tue, 9 Apr 2019 09:44:06 +0000 (10:44 +0100)]
Remember the cause for invalidating a packfile

Keep track of the original cause for a packfile invalidation.
It is needed for the sysadmin to understand if there is a real
underlying filesystem problem and repository corruption or if it is
simply a consequence of a concurrency of Git operations (e.g. repack
or GC).

Change-Id: I06ddda9ec847844ec31616ab6d17f153a5a34e33
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoRemove unnecessary type specifications 60/140160/5
Carsten Hammer [Sat, 6 Apr 2019 17:44:26 +0000 (19:44 +0200)]
Remove unnecessary type specifications

Since Java 7 the diamond operator can be used instead of explicit
type parameters.

Change-Id: I2dee5fce7afebb1d9088eeaec4484ee58b4fa492
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUse String.isEmpty() instead of comparing to "" 59/140159/5
Carsten Hammer [Sat, 6 Apr 2019 17:38:27 +0000 (19:38 +0200)]
Use String.isEmpty() instead of comparing to ""

Use of String.equals("") can be replaced with with String.length() == 0
(for JDK5 and lower) or String.isEmpty() (for JDK6 and higher)

Change-Id: Id1462d22c5d249485d87993263a9239809e73c55
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUse StringBuilder instead of StringBuffer where possible. 57/140157/5
Carsten Hammer [Sat, 6 Apr 2019 17:27:36 +0000 (19:27 +0200)]
Use StringBuilder instead of StringBuffer where possible.

Change-Id: Ifc67c84a3e786cd766f45726733a6d294d2652a1
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoReplace usage of String.indexOf with String.contains where possible 54/140154/4
Carsten Hammer [Sat, 6 Apr 2019 17:06:58 +0000 (19:06 +0200)]
Replace usage of String.indexOf with String.contains where possible

Change-Id: Iad3fce891077d85cf2533272c54206c33c37afd8
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoConfigTest: Add test for parsing invalid group header 80/140180/2
David Pursehouse [Mon, 8 Apr 2019 03:52:36 +0000 (12:52 +0900)]
ConfigTest: Add test for parsing invalid group header

Test that an exception is raised for an invalid group header:

  [group "foo" ]
     foo = bar

i.e. where there is a space between the group subsection name
and the closing ']'.

Change-Id: I8933ae100b77634b0afb66bb8aa43d24c955799e
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoFix API problem filters 96/140396/1
Matthias Sohn [Wed, 10 Apr 2019 12:05:57 +0000 (14:05 +0200)]
Fix API problem filters

Change-Id: I96e0ddc34251348ec4877c9d94b045eb1c53e758
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoFix pack files scan when filesnapshot isn't modified 07/140207/4
Luca Milanesio [Mon, 8 Apr 2019 12:26:12 +0000 (13:26 +0100)]
Fix pack files scan when filesnapshot isn't modified

Do not reload packfiles when their associated filesnapshot is not
modified on disk compared to the one currently stored in memory.

Fix the regression introduced by fef78212 which, in conjunction with
core.trustfolderstats = false, caused any lookup of objects inside
the packlist to loop forever when the object was not found in the pack
list.

Bug: 546190
Change-Id: I38d752ebe47cefc3299740aeba319a2641f19391
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoIntroduce RefDatabase#getTipsWithSha1 to list refs pointing to object 47/135547/7
Patrick Hiesel [Tue, 22 Jan 2019 09:02:14 +0000 (10:02 +0100)]
Introduce RefDatabase#getTipsWithSha1 to list refs pointing to object

Add resolveTipSha1, an inverse of exactRef(String ...), to RefDatabase
and provide a default implementation that runs in O(n) time where n is
the number of refs. For RefTable, provide an implementation that runs
in O(log(n)) time.

[ifrade@google.com: with tests in InMemoryRepositoryTest to exercise
 the reftable code path, too]

Change-Id: I2811ccd0339cdc1c74b42cce2ea003f07a2ce9e1
Signed-off-by: Patrick Hiesel <hiesel@google.com>
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoLocalDiskRepositoryTestCase: Clarify semantics of repository creation methods 27/140027/3
David Pursehouse [Thu, 4 Apr 2019 10:59:52 +0000 (19:59 +0900)]
LocalDiskRepositoryTestCase: Clarify semantics of repository creation methods

Several of the utility methods create a Repository without setting
the 'autoClose' flag, which means that the caller is responsible for
closing it. Update the Javadoc to explicitly mention this.

Change-Id: I2410dd8d230cd4519f756c38b17141d0daa6c314
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoUploadPackTest: Stop using deprecated Transport.setFilterBlobLimit(long) 24/140024/3
David Pursehouse [Thu, 4 Apr 2019 10:48:01 +0000 (19:48 +0900)]
UploadPackTest: Stop using deprecated Transport.setFilterBlobLimit(long)

Replace usage with the recommended setFilterSpec(FilterSpec).

Change-Id: Icc528d175f25234eeb2daa6b4c29a67a7a6d1e0a
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoAttach deletion failure reason in FileUtils.delete() 64/139964/2
Thomas Wolf [Wed, 3 Apr 2019 15:32:53 +0000 (17:32 +0200)]
Attach deletion failure reason in FileUtils.delete()

Use Files.delete() instead of File.delete(), and if there is
an exception thrown propagate it unless errors are to be ignored so
that the actual deletion failure cause is available to the caller
(and will be logged).

Change-Id: I5fdb5a4052942437ab365289ad4bb1b563c29456
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoIgnore invalid files in '.gnupg/private-keys-v1.d' 30/139930/2
Gunnar Wagenknecht [Tue, 2 Apr 2019 20:47:07 +0000 (13:47 -0700)]
Ignore invalid files in '.gnupg/private-keys-v1.d'

Bug: 545673
Change-Id: I4a2ee1e76f320209b3f8090264d771f1a9da566f
Signed-off-by: Gunnar Wagenknecht <gunnar@wagenknecht.org>
5 years agoAdd missing source bundles and add them to a single source feature 22/139822/3
Matthias Sohn [Sun, 31 Mar 2019 23:30:44 +0000 (01:30 +0200)]
Add missing source bundles and add them to a single source feature

Add missing source bundles for
- org.eclipse.jgit.ant
- org.eclipse.jgit.archive
- org.eclipse.jgit.http.apache
- org.eclipse.jgit.http.server
- org.eclipse.jgit.junit
- org.eclipse.jgit.junit.http
- org.eclipse.jgit.junit.ssh
- org.eclipse.jgit.lfs
- org.eclipse.jgit.lfs.server
- org.eclipse.jgit.ui

Combine all source bundles into a single source feature
org.eclipse.jgit.source and delete the other source features.

Ensure all bundles are added to the jgit p2 repository.

Change-Id: I56785f49c940b79f41f763c26e63a4a820ed7cce
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge ".gitignore: remove editor- and OS-specific files"
Jonathan Nieder [Mon, 1 Apr 2019 20:47:06 +0000 (16:47 -0400)]
Merge ".gitignore: remove editor- and OS-specific files"

5 years ago.gitignore: remove editor- and OS-specific files 26/139526/4
Matthew DeVore [Tue, 26 Mar 2019 17:27:38 +0000 (10:27 -0700)]
.gitignore: remove editor- and OS-specific files

Whenever Vim opens a file, it creates a .<filename>.swp file in the same
directory as the file. Emacs adds *~ backup files. macOS creates
.DS_Store files. Other editors and OS' surely do their own thing. Rather
than add each one's own swap/backup file to this .gitignore, encourage
users to add the corresponding items to their system-wide gitignore
files.

Change-Id: I5535f5d2f1ebe896eef108cfda087dcb4c50f031
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years ago[releng] Fix dependencies between features 01/139801/4
Thomas Wolf [Thu, 28 Mar 2019 21:28:47 +0000 (22:28 +0100)]
[releng] Fix dependencies between features

Add dependencies from source to binary features and enforce the same
version. Restrict the dependencies between binary features by version,
too.

Adapt the version.sh script to properly replace these version numbers.

Bug: 545906
Change-Id: I953616e58d27accdf61b49f6435a54895bcbf6da
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoConvert target platform to simple POM project 46/139446/4
Michael Keppler [Mon, 25 Mar 2019 17:06:58 +0000 (18:06 +0100)]
Convert target platform to simple POM project

There is no reason why this is a plugin project. It is sufficient as
Xtext nature project which is only built via Maven.

Change-Id: I000f61f27aeb5c377fbbb7f452c26b0d0bff0ae0
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
5 years agoSuppress API error for new constant Ref.UNDEFINED_UPDATE_INDEX 96/139796/1
Matthias Sohn [Sat, 30 Mar 2019 07:17:49 +0000 (08:17 +0100)]
Suppress API error for new constant Ref.UNDEFINED_UPDATE_INDEX

Change-Id: If8f7c9cc4b78ce2de29b0d93f2b98c2d0dd1eb3d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoDfsRefDatabase: Keep update index when peeling a reference 57/139657/4
Ivan Frade [Wed, 27 Mar 2019 23:24:13 +0000 (16:24 -0700)]
DfsRefDatabase: Keep update index when peeling a reference

The new references created in the peeling do not receive the update
index. In other words, the update index of a reference (if set) is lost
in the peeling.

Pass-through the update index to the newly created references.

Tested via InMemoryRepository, which uses DfsReftableDatabase.

Change-Id: I7ff7c737a9c3366fdec296a4d9b2e51d10227957
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoRef: Add constant for undefined update index 56/139656/3
Ivan Frade [Wed, 27 Mar 2019 22:21:50 +0000 (15:21 -0700)]
Ref: Add constant for undefined update index

Code that creates references and wants to support ref dbs with and
without update indexes needs to set this value. This leds to a
proliferation of "-1" in the code base.

Make the "undefined" value a constant in the ref interface.

Change-Id: I2622a37536a84b4a4036dd55792e185486fa0628
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoClarify error message for invalid Windows characters 73/139473/2
Han-Wen Nienhuys [Tue, 26 Mar 2019 10:22:56 +0000 (11:22 +0100)]
Clarify error message for invalid Windows characters

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Change-Id: I20c37d70fc78d745f83b9ce702777535b16b8dfe

5 years agoFix API error filter settings 10/139610/1
Matthias Sohn [Wed, 27 Mar 2019 15:26:28 +0000 (16:26 +0100)]
Fix API error filter settings

- UploadPack.getFilterBlobLimit() didn't have a wrong @since tag but was
marked final shortly after 5.3 was released. This was probably caused by
using an outdated API baseline. Currently we should use 5.3.0 as the
baseline.
- remove unused filter on FS.fileAttributes()

Change-Id: I9adc1703e99a9ddb3ea2a1c12a83dccbc1f69a99
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJustify API-breaking changes introduced in 4cd9548 51/139451/2
Matthew DeVore [Mon, 25 Mar 2019 18:53:28 +0000 (11:53 -0700)]
Justify API-breaking changes introduced in 4cd9548

Use .api_filters to suppress API baseline errors. The justification is
included in comments in that file.

Change-Id: I7b5c69d8d13733719b28ef7317fc9780ed2828d8
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoMerge "diff: Add "--staged" as alias to "--cached""
Christian Halstrick [Mon, 25 Mar 2019 14:26:21 +0000 (10:26 -0400)]
Merge "diff: Add "--staged" as alias to "--cached""

5 years agodiff: Add "--staged" as alias to "--cached" 56/138156/2
Andre Bossert [Mon, 4 Mar 2019 16:30:16 +0000 (17:30 +0100)]
diff: Add "--staged" as alias to "--cached"

see: https://git-scm.com/docs/git-diff

"--staged is a synonym of --cached"

Change-Id: Ie73f6b3d3b7179c339151cebab98f9ddee6aaf49
Signed-off-by: Andre Bossert <andre.bossert@siemens.com>
5 years agoObjectWalk: simplify tree traversal logic 91/138991/19
Matthew DeVore [Mon, 18 Mar 2019 21:05:46 +0000 (14:05 -0700)]
ObjectWalk: simplify tree traversal logic

Inline newTreeVisit into enterTree and call the new method pushTree. Use
pushTree both for pushing children of the existing currVisit.

Change-Id: I75ea37f48b2befb738a3e88bed40ac08f1df9a03
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoExpose and pass around the FilterSpec object rather than the raw blob limit 90/138990/18
Matthew DeVore [Mon, 18 Mar 2019 16:45:59 +0000 (09:45 -0700)]
Expose and pass around the FilterSpec object rather than the raw blob limit

Use the FilterSpec object so that less code has to know about the make-up of
FilterSpecs. When fields are added to FilterSpec, these pieces of code won't
need updating again.

Change-Id: I2b9e59a9926ff112faf62a3fa2d33c961a1779e5
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoPut filter spec information in a dedicated object 89/138989/11
Matthew DeVore [Sat, 16 Mar 2019 01:57:04 +0000 (18:57 -0700)]
Put filter spec information in a dedicated object

This increases type-safety and is ground work for support of the
"tree:<depth>" filter.

Change-Id: Id19eacdcdaddb9132064c642f6d554b1060efe9f
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoUse Objects.requireNonNull instead of a custom helper 46/139346/1
Jonathan Nieder [Fri, 22 Mar 2019 16:44:27 +0000 (09:44 -0700)]
Use Objects.requireNonNull instead of a custom helper

This simplifies the API surface and makes JGit internals into less of
a custom Java dialect.

Change-Id: Idbb7d4d1037c5336341088385b8e0a59c8b4c952

5 years agoIntroduce a checkNotNull helper 39/139339/1
Jonathan Nieder [Fri, 22 Mar 2019 16:07:03 +0000 (09:07 -0700)]
Introduce a checkNotNull helper

When using @NonNull annotations in new code, if I write

public void setFrobber(@NonNull frobber) {
this.frobber = frobber;
}

then consumers of the JGit library that do not have nullness checking
enabled can easily pass in null by mistake.  On the other hand, if I
write

public void setFrobber(@NonNull frobber) {
if (frobber == null) {
throw new NullPointerException();
}
this.frobber = frobber;
}

then Eclipse JDT complains:

Null comparison always yields false: The variable frobber is specified as @NonNull

Add a checkNotNull helper that offers the best of both worlds:

public void setFrobber(@NonNull frobber) {
this.frobber = checkNotNull(frobber);
}

Briefer code, null check is intact, and no warning.

Inspired by Guava's com.google.common.base.Preconditions.checkNotNull.

Change-Id: If59588d13a1119e899657ed2296931ea18ed0e2a