]> source.dussan.org Git - jgit.git/log
jgit.git
6 years agoGC: Simplify lambda 84/116784/1
Hector Caballero [Tue, 30 Jan 2018 01:24:23 +0000 (20:24 -0500)]
GC: Simplify lambda

filter() stream operation also accepts a lambda expression.

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: Ie0b7fe43d39593172969fd16c3e44b49bac27306

6 years agoGC: Simplify reference equals() method 83/116783/1
Hector Caballero [Tue, 30 Jan 2018 01:51:14 +0000 (20:51 -0500)]
GC: Simplify reference equals() method

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: I5b2e12e012d5423e9b84c1c66a478960121ea212

6 years agoGC: Simplify boolean expression 82/116782/1
Hector Caballero [Tue, 30 Jan 2018 02:08:52 +0000 (21:08 -0500)]
GC: Simplify boolean expression

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: I0e7a365c26b2333627fcc26b9ea9f4fcd65e8746

6 years agoGC: Simplify expression 81/116781/1
Hector Caballero [Tue, 30 Jan 2018 01:31:47 +0000 (20:31 -0500)]
GC: Simplify expression

Avoid converting path to file to then reconvert it to path.

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: I6a8c3ca9b83bf9b0eead9506938f5d68b27a76f5

6 years agoGC: Remove redundant type arguments 80/116780/1
Hector Caballero [Tue, 30 Jan 2018 02:25:06 +0000 (21:25 -0500)]
GC: Remove redundant type arguments

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: Id3281a744b08f9d7b2b60f69b4e461b053ac5d02

6 years agoGC: Remove unnecessary continue statement 79/116779/1
Hector Caballero [Tue, 30 Jan 2018 01:39:16 +0000 (20:39 -0500)]
GC: Remove unnecessary continue statement

continue is unnecessary when it is the last statement in a loop

Signed-off-by: Hector Oswaldo Caballero <hector.caballero@ericsson.com>
Change-Id: I12af9f9a0bb2fd7fc0239f1f3b59fb8e64e1f351

6 years agoClose RevWalk in BranchTrackingStatus.of() 54/116754/1
Matthias Sohn [Tue, 6 Feb 2018 00:10:26 +0000 (01:10 +0100)]
Close RevWalk in BranchTrackingStatus.of()

Bug: 530757
Change-Id: I985ee5395e1468981c28ae0a80797732e2f528d2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate tycho to 1.1.0 87/116687/1
Matthias Sohn [Sun, 4 Feb 2018 22:10:09 +0000 (23:10 +0100)]
Update tycho to 1.1.0

Change-Id: I8a72c59c1453a9252e56d68c8a162341c690622f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoBasic submodule merge handling 72/110172/8
David Turner [Thu, 12 Oct 2017 22:43:15 +0000 (18:43 -0400)]
Basic submodule merge handling

This doesn't handle the really hard thing, which is merging spurious
conflicts inside .gitmodules files.  That's OK: git.git doesn't
either.  Users can resolve the conflict themselves and then commit
the merge.

Previously, jgit would crash when attempting to merge conflicting
submodule changes.  Even if there was no conflict, after a merge which
adds submodules, the repository would have been missing empty
directories for newly-added submodules.

This patch fixes the crash, and adds the empty directories where
necessary. It ensures that the index is in a conflicted state when
submodule changes conflict.

Reported-by: Alexey Korobkov
Bug: 494551
Change-Id: I79db6798c2bdcc1159b5b2589b02da198dc906a1
Signed-off-by: David Turner <dturner@twosigma.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoAdd class to access WindowCache statistics 01/116501/3
David Pursehouse [Thu, 1 Feb 2018 05:01:11 +0000 (14:01 +0900)]
Add class to access WindowCache statistics

Change-Id: Iacb5b65539efd92a6b45afc307ebf246e8b8fccf
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUse a TemporaryBuffer to do a content merge 84/116584/1
Thomas Wolf [Fri, 2 Feb 2018 09:42:54 +0000 (10:42 +0100)]
Use a TemporaryBuffer to do a content merge

This avoids having to re-read the merged file (twice even!) to
update the index.

Change-Id: Id13e0fd38906ed6f859604f86ca352761dca9ffe
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoFix index blob for merges with CRLF translations 74/116574/1
Thomas Wolf [Fri, 2 Feb 2018 07:16:13 +0000 (08:16 +0100)]
Fix index blob for merges with CRLF translations

Commit fc7d407 corrected line endings for working tree files resulting
from merges when CRLF translations are to be done. However, that also
resulted in the file content being put as-is into the index, which is
wrong. The index must contain the file content with reverse CRLF
translations applied.

With core.autocrlf=true, the working tree file should have CR-LF, but
the index blob must still contain only LF.

Fix this oversight and apply the inverse translation when updating the
index, similar to what is done in AddCommand.

Bug: 499615
Change-Id: I3a33931318bdb580b2390f3450f91ea8f258a6a4
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoFix version of slf4j in manifest files 23/115923/3
David Pursehouse [Wed, 24 Jan 2018 01:15:56 +0000 (10:15 +0900)]
Fix version of slf4j in manifest files

Consistently require 1.7.0. We ship 1.7.2 with our p2 repository but
there is no need to require 1.7.2 since it should be API compatible with
1.7.0.

Change-Id: I8467bb14316cb24daa79e89275332107d2716190
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate gson version in org.eclipse.jgit.lfs.server manifest 22/115922/3
David Pursehouse [Wed, 24 Jan 2018 01:09:32 +0000 (10:09 +0900)]
Update gson version in org.eclipse.jgit.lfs.server manifest

Commit f3bb0e2 upgraded gson to 2.8.2 but did not update the LFS
server manifest file to require 2.8. Also accept 2.8.0 which should be
API compatible with 2.8.2 which is the version we ship with the p2
repository.

Change-Id: I734496c4826739f9bc6a790b9d2c70e549c0e559
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoHonor CRLF settings when writing merge results 63/116563/4
Thomas Wolf [Thu, 1 Feb 2018 20:58:23 +0000 (21:58 +0100)]
Honor CRLF settings when writing merge results

Merges are performed using the raw text as stored in the git
repository. When we write the merge result, we must apply the
correct CRLF settings. Otherwise the line endings in the result
will be wrong.

Bug: 499615
Change-Id: I37a9b987e9404c97645d2720cd1c7c04c076a96b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' 15/116515/1
David Pursehouse [Thu, 1 Feb 2018 09:09:08 +0000 (18:09 +0900)]
Merge branch 'stable-4.10'

* stable-4.10:
  Minor fixes in three error messages

Change-Id: I159d397e4d78b3f5d7f0a0dbff7fe76470148c6a
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 09/116509/2
David Pursehouse [Thu, 1 Feb 2018 08:36:10 +0000 (17:36 +0900)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Minor fixes in three error messages

Change-Id: Ibd6bcecb40a6d97c46c66360020dca7453876298
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMinor fixes in three error messages 95/116395/1
Thomas Wolf [Tue, 30 Jan 2018 06:33:56 +0000 (07:33 +0100)]
Minor fixes in three error messages

* Fix "can not" -> "cannot" in two messages
* Re-word "Cannot mkdir" to "Cannot create directory"

Change-Id: Ide0cec55eeeebd23bccc136257c80f47638ba858
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoMinor fixes in three error messages 84/116284/1
Thomas Wolf [Tue, 30 Jan 2018 06:33:56 +0000 (07:33 +0100)]
Minor fixes in three error messages

* Fix "can not" -> "cannot" in two messages
* Re-word "Cannot mkdir" to "Cannot create directory"

Change-Id: Ide0cec55eeeebd23bccc136257c80f47638ba858
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoMinor improvements in git config file inclusions 80/116180/3
Thomas Wolf [Sat, 27 Jan 2018 15:06:15 +0000 (16:06 +0100)]
Minor improvements in git config file inclusions

* Section and key names in git config files are case-insensitive.
* If an include directive is invalid, include the line in the
  exception message.
* If inclusion of the included file fails, put the file name into
  the exception message so that the user knows in which file the
  problem is.

Change-Id: If920943af7ff93f5321b3d315dfec5222091256c
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoProgress reporting for checkout 55/112855/10
Markus Duft [Tue, 5 Dec 2017 08:30:48 +0000 (09:30 +0100)]
Progress reporting for checkout

The reason for the change is LFS: when using a lot of LFS files,
checkout can take quite some time on larger repositories. To avoid
"hanging" UI, provide progress reporting.

Also implement (partial) progress reporting for cherry-pick, reset,
revert which are using checkout internally.

The feature is also useful without LFS, so it is independent of it.

Change-Id: I021e764241f3c107eaf2771f6b5785245b146b42
Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoEnforce DFS blockLimit is a multiple of blockSize 07/115807/2
Dave Borowitz [Mon, 22 Jan 2018 13:54:38 +0000 (08:54 -0500)]
Enforce DFS blockLimit is a multiple of blockSize

Change-Id: I2821124ff88d7d1812a846ed20f3828fc9123b38

6 years agoUpgrade gson to version 2.8.2 73/114573/6
David Pursehouse [Thu, 21 Dec 2017 11:01:00 +0000 (20:01 +0900)]
Upgrade gson to version 2.8.2

CQ: 15286
CQ: 15287 (Orbit)
Change-Id: I43312d5276b64d871f7fa253a43a090f9b163724
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpgrade commons-compress to 1.15 60/115360/4
David Pursehouse [Mon, 15 Jan 2018 00:45:38 +0000 (09:45 +0900)]
Upgrade commons-compress to 1.15

Also update xz to 1.6 as this is the version commons-compress 1.15
wants. Since xz 1.6 is an optional dependency for commons-compress we
need to add a non-optional dependency to xz for
org.eclipse.jgit.pgm.test since one of the tests explicitly requires xz.

Related change adding commons-compress to Orbit:
https://git.eclipse.org/r/#/c/115366/

CQ: 15356
CQ: 15360
Change-Id: I0d61c71bc541cc30464a0fff93775b079dd3ba88
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoRevert usage of TYPE_USE in Nullable and NonNull annotations 00/115700/1
David Pursehouse [Fri, 19 Jan 2018 13:40:54 +0000 (22:40 +0900)]
Revert usage of TYPE_USE in Nullable and NonNull annotations

Using TYPE_USE causes compilation errors in Eclipse Neon.3 (JDT 3.12.3)
and Eclipse Oxygen.2 (JDT 3.13.2).

This reverts commit 8e217517e2c515032dd0d661535d2133cd80123a.
This reverts commit 55eba8d0f55464ca84d676828f67a6fe14b2454d.

Reported-by: Thomas Wolf <thomas.wolf@paranor.ch>
Change-Id: I96869f80dd11ee238911706581b224bca4fb12cd
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoNullable: Switch to TYPE_USE 81/115581/1
David Pursehouse [Thu, 18 Jan 2018 04:35:44 +0000 (13:35 +0900)]
Nullable: Switch to TYPE_USE

Since JGit now requires Java 8, we can switch to TYPE_USE instead
of explicitly specifying the target type.

Some of the existing uses of Nullable need to be reworked slightly
as described in [1] to prevent the compilation error:

  scoping construct cannot be annotated with type-use annotation

[1] https://stackoverflow.com/a/21385939/381622

Change-Id: Idba48f67a09353b5237685996ce828c8ca398168
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoNonNull: Switch to TYPE_USE 79/115579/1
David Pursehouse [Thu, 18 Jan 2018 04:20:49 +0000 (13:20 +0900)]
NonNull: Switch to TYPE_USE

Since JGit now requires Java 8, we can switch to TYPE_USE instead
of explicitly specifying the target type.

Change-Id: I373d47c3d92507459685789df1fad0933d5625ff
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoNonNull: Fix typo in javadoc 78/115578/1
David Pursehouse [Thu, 18 Jan 2018 04:19:52 +0000 (13:19 +0900)]
NonNull: Fix typo in javadoc

Change-Id: Ia8e6559047a12391223645e2768f46666f198f6d
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoRevWalk: Annotate methods documented to return "Never null" as @NonNull 76/115576/1
David Pursehouse [Thu, 18 Jan 2018 01:45:07 +0000 (10:45 +0900)]
RevWalk: Annotate methods documented to return "Never null" as @NonNull

Change-Id: If1a1bed4b04dd48c9573fd3c4eacbf73de40622f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoSkip broken symbolic ref in DfsReftableDatabase 75/115575/1
Zhen Chen [Wed, 17 Jan 2018 23:14:43 +0000 (15:14 -0800)]
Skip broken symbolic ref in DfsReftableDatabase

We skipped the broken symbolic reference in other implementation like
DfsRefDatabase, RefDirectory. The broken symbolic reference may cause
NPE when caller forget to have a null check against the object id before
calling parse it.

Change-Id: If5e07202e9ee329d0bd9488936d79c98143c7ad9
Signed-off-by: Zhen Chen <czhen@google.com>
6 years agoMake SideBandInputStream public 53/115453/2
Han-Wen Nienhuys [Tue, 16 Jan 2018 16:28:22 +0000 (17:28 +0100)]
Make SideBandInputStream public

This mirrors SideBandOutputStream which is also public

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

6 years agoMerge branch 'stable-4.10' 42/115342/3
Matthias Sohn [Fri, 12 Jan 2018 23:54:31 +0000 (00:54 +0100)]
Merge branch 'stable-4.10'

* stable-4.10:
  Revert handling of ssh IdentityFile to pre-4.9 behavior
  Prepare 4.10.1-SNAPSHOT builds
  JGit v4.10.0.201712302008-r

Change-Id: I13797f064de919c257feb8e96da226d7b1faaf7a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 41/115341/1
Matthias Sohn [Fri, 12 Jan 2018 23:51:28 +0000 (00:51 +0100)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Revert handling of ssh IdentityFile to pre-4.9 behavior

Change-Id: I7cd2f0fe93be5193d6de2a376a023bdece5d84a9

6 years agoRevert handling of ssh IdentityFile to pre-4.9 behavior 94/115294/1
Thomas Wolf [Fri, 12 Jan 2018 11:51:22 +0000 (12:51 +0100)]
Revert handling of ssh IdentityFile to pre-4.9 behavior

Jsch caches keys (aka identities) specified in ~/.ssh/config via
IndentityFile only for the current Jsch Session. This results in
multiple password prompts for successive sessions.

Do the handling of IdentityFile exclusively in JGit, as it was before
4.9. JGit uses different Jsch instances per host and caches the
IdentityFile there, allowing it to be re-used in different sessions
for the same host.

* Add comments to explain this.
* Move the JschBugFixingConfig from OpenSshConfig to
  JschConfigSessionFactory to have all these Jsch work-arounds
  in one place.
* Make that config hide the IdentityFile config from Jsch to avoid
  that Jsch overrides the JGit behavior.

Bug: 529173
Change-Id: Ib36c34a2921ba736adeb64de71323c2b91151613
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoPackInserterTest#newLargeBlob: Factor Random instance out to class member 09/115209/1
David Pursehouse [Thu, 11 Jan 2018 05:22:09 +0000 (14:22 +0900)]
PackInserterTest#newLargeBlob: Factor Random instance out to class member

Instead of instantiating a new Random on each invocation of newLargeBlob,
create it once and reuse it.

This fixes a warning raised by Spotbugs about the Random object being
created and only used once.

Change-Id: I5b8e6ccbbc92641811537808aed9eae2034c1133
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUpgrade error_prone_core to 2.2.0 46/115146/1
David Pursehouse [Wed, 10 Jan 2018 07:18:27 +0000 (16:18 +0900)]
Upgrade error_prone_core to 2.2.0

Change-Id: Icf1e2fba724dec363bdc941e562396255b9d9faf
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoRefDirectory#hasLooseRef: Fix stream resource leak reported by error-prone 45/115145/1
David Pursehouse [Wed, 10 Jan 2018 07:30:28 +0000 (16:30 +0900)]
RefDirectory#hasLooseRef: Fix stream resource leak reported by error-prone

Error-prone reports:

  [StreamResourceLeak] Streams that encapsulate a closeable resource
  should be closed using try-with-resources

Change-Id: I86154fba2b896723feaecf8991ed3c8e96ea2499
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUpdate developers list in pom.xml 44/115144/1
David Pursehouse [Wed, 10 Jan 2018 07:15:34 +0000 (16:15 +0900)]
Update developers list in pom.xml

Change-Id: If391947957918a456a8f9eb315c95bb669a413b4
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUpgrade Spotbugs to 3.1.1 80/115080/2
David Pursehouse [Tue, 9 Jan 2018 02:21:16 +0000 (11:21 +0900)]
Upgrade Spotbugs to 3.1.1

Change-Id: Ie43c74acabd9520dde5d8577f040e6575bd3ebbc
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoEnsure DirectoryStream is closed promptly 06/115006/1
Dave Borowitz [Fri, 5 Jan 2018 18:02:47 +0000 (13:02 -0500)]
Ensure DirectoryStream is closed promptly

From the javadoc for Files.list:

"The returned stream encapsulates a DirectoryStream. If timely disposal
of file system resources is required, the try-with-resources construct
should be used to ensure that the stream's close method is invoked
after the stream operations are completed."

This is the only call to Files#newDirectoryStream that is not already in
a try-with-resources.

Change-Id: I91e6c56b5d74e8435457ad6ed9e6b4b24d2aa14e

6 years agoAdd com.jcraft.jzlib 1.1.1 07/114907/2
Matthias Sohn [Wed, 3 Jan 2018 00:09:57 +0000 (01:09 +0100)]
Add com.jcraft.jzlib 1.1.1

com.jcraft.jsch requires com.jcraft.jzlib to provide optional zlib
packet compression support. Add this library so that jgit can handle
packet compression.

CQ: 15292
Bug: 529129
Change-Id: I0297bd0488753547a5f5d47dbf0db508a79dd265
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge "Fix file handle leak in FetchCommand#fetchSubmodules"
Matthias Sohn [Thu, 4 Jan 2018 11:45:00 +0000 (06:45 -0500)]
Merge "Fix file handle leak in FetchCommand#fetchSubmodules"

6 years agoFix file handle leak in FetchCommand#fetchSubmodules 16/114916/1
Tim Hosey [Thu, 4 Jan 2018 01:58:05 +0000 (02:58 +0100)]
Fix file handle leak in FetchCommand#fetchSubmodules

The private fetchSubmodules method in the FetchCommand class creates a
Repository instance for each submodule being fetched, but never calls
closes on it.

This leads to the leaking of file handles.

Bug: 526494
Change-Id: I7070388b8b62063d9d5cd31afae3015a8388044f
Signed-off-by: Tim Hosey <timhoseydev@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoSkip unborn branches in UploadPack 12/114912/2
Zhen Chen [Wed, 3 Jan 2018 22:12:30 +0000 (14:12 -0800)]
Skip unborn branches in UploadPack

The ObjectId of an unborn branch is null, skip those in UploadPack.

Change-Id: I7cbf66b05dff98c4fe9f33e20a647ba6acf364b2
Signed-off-by: Zhen Chen <czhen@google.com>
6 years agoPrepare 4.11.0-SNAPSHOT builds 40/114840/1
Matthias Sohn [Sun, 31 Dec 2017 03:05:07 +0000 (04:05 +0100)]
Prepare 4.11.0-SNAPSHOT builds

Change-Id: I5d5e2befcf530d93457d44684bd9e4fc2392e5eb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.10.1-SNAPSHOT builds 37/114837/1
Matthias Sohn [Sun, 31 Dec 2017 02:22:35 +0000 (03:22 +0100)]
Prepare 4.10.1-SNAPSHOT builds

Change-Id: I139fb660c4630d9d073eabf37ff26ea3a823bcbd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.10.0.201712302008-r 33/114833/1 v4.10.0.201712302008-r
Matthias Sohn [Sun, 31 Dec 2017 01:08:55 +0000 (02:08 +0100)]
JGit v4.10.0.201712302008-r

Change-Id: I9cc3a839d906acd01829df1de64cfafca8a6d008
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoWorkingTreeIterator should pass FS to submodules 66/113366/4
Marc Strapetz [Wed, 13 Dec 2017 21:46:47 +0000 (22:46 +0100)]
WorkingTreeIterator should pass FS to submodules

Change-Id: I4b7bc6bab449b9e3aebba8170788ff9e4a04195a
Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
6 years agoCloneCommand: option to set FS to be used 65/113365/4
Marc Strapetz [Wed, 13 Dec 2017 22:01:37 +0000 (23:01 +0100)]
CloneCommand: option to set FS to be used

Change-Id: If8342974d07b7d89a6c5721a6dd03826886aa89e
Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
6 years agoInitCommand: option to set FS to be used 64/113364/3
Marc Strapetz [Wed, 13 Dec 2017 21:58:14 +0000 (22:58 +0100)]
InitCommand: option to set FS to be used

Change-Id: I95c72f3bdc2da748adbb0d82af72f60650821aab
Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
6 years agoAdd a command to deinitialize submodules 55/110155/6
David Turner [Fri, 13 Oct 2017 18:56:04 +0000 (14:56 -0400)]
Add a command to deinitialize submodules

Change-Id: Iaaefc2cbafbf083d6ab158b1c378ec69cc76d282
Signed-off-by: David Turner <dturner@twosigma.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUse submodule name instead of path as key in config 07/110407/4
David Turner [Thu, 19 Oct 2017 20:58:07 +0000 (16:58 -0400)]
Use submodule name instead of path as key in config

When a submodule is moved, the "name" field remains the same, while
the "path" field changes.  Git uses the "name" field in .git/config
when a submodule is initialized, so this patch makes JGit do so too.

Change-Id: I48d8e89f706447b860c0162822a8e68170aae42b
Signed-off-by: David Turner <dturner@twosigma.com>
6 years agoRequire maven 3.5.2 55/114755/1
Matthias Sohn [Wed, 27 Dec 2017 01:54:40 +0000 (02:54 +0100)]
Require maven 3.5.2

This prepares builds on Java 9 [1].

The maven 2 tag "prerequisites" is not honored by maven 3
hence use maven-enforcer-plugin to enforce the minimum
maven version.

[1] https://issues.apache.org/jira/browse/MNG-6148

Change-Id: I57f5051a0641b1bd21f9f888f1a17d8f98e879e5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate japicmp-maven-plugin to 0.11.0 54/114754/1
Matthias Sohn [Tue, 26 Dec 2017 22:27:17 +0000 (23:27 +0100)]
Update japicmp-maven-plugin to 0.11.0

Change-Id: Ia0c5308fc4544a3b3a4fd6a19947cfc9a33af9c1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoURIish: support for empty ports 10/113110/3
Marc Strapetz [Sat, 9 Dec 2017 12:23:28 +0000 (13:23 +0100)]
URIish: support for empty ports

Properly parse URLs like "ssh://host:/path"

Bug: 519187
Change-Id: I0054868e30509e4ba919444be16c2a20f741545a
Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
6 years agoUpgrade spotbugs-maven-plugin to 3.1.0 17/114617/2
David Pursehouse [Fri, 22 Dec 2017 02:36:24 +0000 (11:36 +0900)]
Upgrade spotbugs-maven-plugin to 3.1.0

Change-Id: I1817afd3f75bd1f030f1b5c6bc683afa51dc5a6b
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoAdd header Automatic-Module-Name for Java 9 84/114584/3
Karsten Thoms [Thu, 21 Dec 2017 13:26:37 +0000 (14:26 +0100)]
Add header Automatic-Module-Name for Java 9

Bug: 529075
Change-Id: I4532ce2c80eb91531d46026676502d636ccda706
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' 05/114705/1
Matthias Sohn [Fri, 22 Dec 2017 23:36:45 +0000 (00:36 +0100)]
Merge branch 'stable-4.9'

* stable-4.9:
  Strings#convertGlob: fix escaping of patterns like [\[].

Change-Id: I18d55537002b3153db35f8a6b60f2f5317d17248
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoStrings#convertGlob: fix escaping of patterns like [\[]. 26/114526/2
Dmitry Pavlenko [Fri, 15 Dec 2017 20:15:35 +0000 (21:15 +0100)]
Strings#convertGlob: fix escaping of patterns like [\[].

Originally the patterns were escaped twice leading
to wrong matching results.

Bug: 528886
Change-Id: I26e201b4b0ef51cac08f940b76f381260fa925ca
Signed-off-by: Dmitry Pavlenko <pavlenko@tmatesoft.com>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge changes I8a37eaf8,Id8a5b591
David Pursehouse [Thu, 21 Dec 2017 23:31:54 +0000 (18:31 -0500)]
Merge changes I8a37eaf8,Id8a5b591

* changes:
  Remove maven profile jgit.java8
  Reenable failing the build on javadoc errors

6 years agoMerge changes I0f1df93b,Ifd40129b,I1b059e1a
Dave Borowitz [Thu, 21 Dec 2017 17:01:04 +0000 (12:01 -0500)]
Merge changes I0f1df93b,Ifd40129b,I1b059e1a

* changes:
  ConfigTest: Add some additional comment parsing tests
  Config: Drop backslash in invalid escape sequences in subsections
  Config: Match C git behavior more closely in escaping values

6 years agoMerge branch 'stable-4.9' 01/114601/1
Dave Borowitz [Thu, 21 Dec 2017 16:12:13 +0000 (11:12 -0500)]
Merge branch 'stable-4.9'

* stable-4.9:
  Make PackInserter public

Change-Id: I367c6111661f3005419e2becd695e04e65202f97

6 years agoMake PackInserter public 98/114598/1
Dave Borowitz [Thu, 21 Dec 2017 14:46:55 +0000 (09:46 -0500)]
Make PackInserter public

The intent with the setCompressionLevel and checkExisting methods (which
are already public) is for callers to be able to call them, but they
can't do that if the class itself is not public.

Change-Id: I014044fec3bfa1d33775500345efd60eb5d45bde

6 years agoConfigTest: Add some additional comment parsing tests 94/114594/2
Dave Borowitz [Thu, 21 Dec 2017 14:04:56 +0000 (09:04 -0500)]
ConfigTest: Add some additional comment parsing tests

Change-Id: I0f1df93bd1ceeb847771ea6484f9de539e8c177b

6 years agoConfig: Drop backslash in invalid escape sequences in subsections 91/114591/2
Dave Borowitz [Thu, 21 Dec 2017 13:55:45 +0000 (08:55 -0500)]
Config: Drop backslash in invalid escape sequences in subsections

These are ignored by C git when parsing:

$ git config -f - --list <<EOF
[foo "x\0y"]
bar = baz
[foo "x\qy"]
bar = baz
[foo "x\by"]
bar = baz
[foo "x\ny"]
bar = baz
[foo "x\ty"]
bar = baz
EOF
foo.x0y.bar=baz
foo.xqy.bar=baz
foo.xby.bar=baz
foo.xny.bar=baz
foo.xty.bar=baz

This behavior is different from value parsing, where an invalid escape
sequence is an error (which JGit already does as well):

$ git config -f - --list <<EOF
[foo]
bar = x\qy
EOF
fatal: bad config line 2 in standard input

Change-Id: Ifd40129b37d9a62df3d886d8d7e22f766f54e9d1

6 years agoConfig: Match C git behavior more closely in escaping values 90/114590/2
Dave Borowitz [Thu, 21 Dec 2017 13:41:52 +0000 (08:41 -0500)]
Config: Match C git behavior more closely in escaping values

So this happened:

$ git config -f foo.config foo.a 'x"y'
$ git config -f foo.config foo.b x\\y
$ git config -f foo.config foo.c $'x\ny'
$ git config -f foo.config foo.d $'x\ty'
$ git config -f foo.config foo.e $'x\by'
$ cat foo.config
[foo]
        a = x\"y
        b = x\\y
        c = x\ny
        d = x\ty
        e = y

That last line is my shell interpreting the backspace byte:

$ python -c 'print repr(open("foo.config").read())'
'[foo]\n\ta = x\\"y\n\tb = x\\\\y\n\tc = x\\ny\n\td = x\\ty\n\te = x\x08y\n'

Change-Id: I1b059e1afb544c39ddb587c07bf79a06e99d0a09

6 years agoRemove maven profile jgit.java8 80/114580/1
Matthias Sohn [Thu, 21 Dec 2017 13:00:02 +0000 (14:00 +0100)]
Remove maven profile jgit.java8

This profile isn't needed any longer since we require Java 8 as minimum
version.

Change-Id: I8a37eaf874473ff4004b9c074a810dddebde54c8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoReenable failing the build on javadoc errors 29/114529/3
Matthias Sohn [Thu, 21 Dec 2017 10:55:27 +0000 (11:55 +0100)]
Reenable failing the build on javadoc errors

Change-Id: Id8a5b59119f3d40dea1bb46ef060a6abfff2f6bd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix remaining javadoc errors raised by doclint 28/114528/1
Matthias Sohn [Thu, 21 Dec 2017 00:36:18 +0000 (01:36 +0100)]
Fix remaining javadoc errors raised by doclint

For now ignore doclint "missing" warnings.

Change-Id: I0e5af7a757f4d92ffeeb113f30576a35414d6781
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate last jgit release version to 4.9.2.201712150930-r 27/114527/1
Matthias Sohn [Wed, 20 Dec 2017 23:11:46 +0000 (00:11 +0100)]
Update last jgit release version to 4.9.2.201712150930-r

Change-Id: I57ff69d2fdfe0b3e694f51ed01c0423343c2d14d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit util packages 49/114449/3
Matthias Sohn [Tue, 19 Dec 2017 22:06:46 +0000 (23:06 +0100)]
Fix javadoc in org.eclipse.jgit util packages

Change-Id: Ia655f45153bcf1d422ffffce6dcf914847e14c4c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit treewalk package 90/114390/3
Matthias Sohn [Tue, 19 Dec 2017 13:23:06 +0000 (14:23 +0100)]
Fix javadoc in org.eclipse.jgit treewalk package

Change-Id: I1f9d9a005c7228c9881762a78228accad2c7a6d4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit transport package 87/114387/3
Matthias Sohn [Tue, 19 Dec 2017 10:55:51 +0000 (11:55 +0100)]
Fix javadoc in org.eclipse.jgit transport package

Change-Id: Id70e2c27e38bf12f87e66b28fbd0b06908494764
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' 09/114509/1
Dave Borowitz [Wed, 20 Dec 2017 19:39:11 +0000 (14:39 -0500)]
Merge branch 'stable-4.9'

* stable-4.9:
  PackInserter: Ensure objects are written at the end of the pack
  ObjectInserter: Add warning about mixing read-back with writes

Change-Id: I308e7c1c6b72e8d4d9b5d0f4f51e9815fc92d7d7

6 years agoPackInserter: Ensure objects are written at the end of the pack 00/114500/1
Dave Borowitz [Wed, 20 Dec 2017 17:36:03 +0000 (12:36 -0500)]
PackInserter: Ensure objects are written at the end of the pack

When interleaving reads and writes from an unflushed pack, we forgot to
reset the file pointer back to the end of the file before writing more
new objects. This had at least two unfortunate effects:
  * The pack data was potentially corrupt, since we could overwrite
    previous portions of the file willy-nilly.
  * The CountingOutputStream would report more bytes read than the size
    of the file, which stored the wrong PackedObjectInfo, which would
    cause EOFs during reading.

We already had a test in PackInserterTest which was supposed to catch
bugs like this, by interleaving reads and writes. Unfortunately, it
didn't catch the bug, since as an implementation detail we always read a
full buffer's worth of data from the file when inflating during
readback. If the size of the file was less than the offset of the object
we were reading back plus one buffer (8192 bytes), we would completely
accidentally end up back in the right place in the file.

So, add another test for this case where we read back a small object
positioned before a large object. Before the fix, this test exhibited
exactly the "Unexpected EOF" error reported at crbug.com/gerrit/7668.

Change-Id: I74f08f3d5d9046781d59e5bd7c84916ff8225c3b

6 years agoObjectInserter: Add warning about mixing read-back with writes 99/114499/1
Dave Borowitz [Wed, 20 Dec 2017 17:16:40 +0000 (12:16 -0500)]
ObjectInserter: Add warning about mixing read-back with writes

Change-Id: Ib0460d3c7df315d86f9adca5f66a8fd4c39e4060

6 years agoFix javadoc leftovers in org.eclipse.jgit api package 50/114450/2
Matthias Sohn [Tue, 19 Dec 2017 22:21:57 +0000 (23:21 +0100)]
Fix javadoc leftovers in org.eclipse.jgit api package

Change-Id: I2150889b5ed04e8739e2367fc9023b750b516398
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoRemove unused imports 51/114451/2
Matthias Sohn [Tue, 19 Dec 2017 22:18:38 +0000 (23:18 +0100)]
Remove unused imports

Change-Id: I35370c66e54d93d9b0aa3995e300706956ec0923
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoReplace explicit calls to initCause where possible 63/114363/4
David Pursehouse [Tue, 19 Dec 2017 05:05:40 +0000 (14:05 +0900)]
Replace explicit calls to initCause where possible

Where the exception being thrown has a constructor that takes a
Throwable, use that instead of instantiating the exception and then
explicitly calling initCause.

Change-Id: I06a0df407ba751a7af8c1c4a46f9e2714f13dbe3
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge changes I50095928,Idadec0ab,I1f2747d6,I6d2a7e28
David Pursehouse [Tue, 19 Dec 2017 23:02:11 +0000 (18:02 -0500)]
Merge changes I50095928,Idadec0ab,I1f2747d6,I6d2a7e28

* changes:
  LargeObjectException: Add constructor that takes Throwable
  InvalidPatternException: Add constructor that takes Throwable
  Don't unnecessarily explicitly call CorruptObjectException#initCause
  Use new StoredObjectRepresentationNotAvailableException constructor

6 years agoLargeObjectException: Add constructor that takes Throwable 62/114362/2
David Pursehouse [Tue, 19 Dec 2017 05:08:38 +0000 (14:08 +0900)]
LargeObjectException: Add constructor that takes Throwable

Change-Id: I500959286075f8ba4d0aa5820febd28c9c94ea1b
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoInvalidPatternException: Add constructor that takes Throwable 61/114361/2
David Pursehouse [Tue, 19 Dec 2017 05:02:34 +0000 (14:02 +0900)]
InvalidPatternException: Add constructor that takes Throwable

Change-Id: Idadec0abc1c6d76f19f51a65a4b45df444c20486
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoDon't unnecessarily explicitly call CorruptObjectException#initCause 57/114357/2
David Pursehouse [Tue, 19 Dec 2017 02:37:08 +0000 (11:37 +0900)]
Don't unnecessarily explicitly call CorruptObjectException#initCause

CorruptObjectException has a constructor that takes Throwable and
calls initCause with it.  Use that instead of instantiating the
exception and explicitly calling initCause.

Change-Id: I1f2747d6c4cc5249e93401b9787eb4ceb50cb995
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUse new StoredObjectRepresentationNotAvailableException constructor 56/114356/2
David Pursehouse [Tue, 19 Dec 2017 02:19:10 +0000 (11:19 +0900)]
Use new StoredObjectRepresentationNotAvailableException constructor

In 5e7eed4 a new StoredObjectRepresentationNotAvailableException
constructor was added, that takes a Throwable to initialize the
exception cause.

Update more call sites to use this constructor instead of first
instantiating it and explicitly calling initCause().

All callers now use the new constructor, so annotate the other one as
deprecated.

Change-Id: I6d2a7e289a95f0360ddebf904cfd8b6c18fef10c
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoFix javadoc in org.eclipse.jgit submodule package 82/113682/2
Matthias Sohn [Mon, 18 Dec 2017 23:21:39 +0000 (00:21 +0100)]
Fix javadoc in org.eclipse.jgit submodule package

Change-Id: Idc2a32a2e10d1cfc0b23a4f3fd1bf29840724336
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/file and pack package 81/113681/2
Matthias Sohn [Mon, 18 Dec 2017 23:16:02 +0000 (00:16 +0100)]
Fix javadoc in org.eclipse.jgit storage/file and pack package

Change-Id: If1fee165782823dc21d896073f60ee838365463d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit revwalk package 80/113680/2
Matthias Sohn [Mon, 18 Dec 2017 23:01:55 +0000 (00:01 +0100)]
Fix javadoc in org.eclipse.jgit revwalk package

Change-Id: I3fabab8afa284b1919ab7bc656cab19e56ed474e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit patch and revplot package 79/113679/2
Matthias Sohn [Mon, 18 Dec 2017 22:45:58 +0000 (23:45 +0100)]
Fix javadoc in org.eclipse.jgit patch and revplot package

Change-Id: I6f1aba98bf7034cb51494c546806cf1b72dd1473
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit nls and notes package 78/113678/2
Matthias Sohn [Mon, 18 Dec 2017 22:29:46 +0000 (23:29 +0100)]
Fix javadoc in org.eclipse.jgit nls and notes package

Change-Id: I1b65fba5b4856f98974dc10f549540d401ef916f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit merge package 35/113635/4
Matthias Sohn [Mon, 18 Dec 2017 16:07:03 +0000 (17:07 +0100)]
Fix javadoc in org.eclipse.jgit merge package

Change-Id: I735d0f2e9f10531ed43b7b3dd6314c574392422f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit lib package 31/113631/3
Matthias Sohn [Mon, 18 Dec 2017 15:52:40 +0000 (16:52 +0100)]
Fix javadoc in org.eclipse.jgit lib package

Change-Id: I1e85a951488177993521ce177fdea212615e6164
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/reftree package 28/113628/3
Matthias Sohn [Mon, 18 Dec 2017 15:00:44 +0000 (16:00 +0100)]
Fix javadoc in org.eclipse.jgit storage/reftree package

Change-Id: Ie206b5340ad2019a1e0bd2bcede2c1e5a279f2d5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/reftable package 27/113627/3
Matthias Sohn [Mon, 18 Dec 2017 14:56:57 +0000 (15:56 +0100)]
Fix javadoc in org.eclipse.jgit storage/reftable package

Change-Id: I14764c5d5b2309d82fe2ccc0593120b51328bf41
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/pack package 25/113625/3
Matthias Sohn [Mon, 18 Dec 2017 14:33:32 +0000 (15:33 +0100)]
Fix javadoc in org.eclipse.jgit storage/pack package

Change-Id: Id1b7d392e1bb36079edaf16450e73a044a318e7e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/io package 24/113624/3
Matthias Sohn [Mon, 18 Dec 2017 14:18:21 +0000 (15:18 +0100)]
Fix javadoc in org.eclipse.jgit storage/io package

Change-Id: I2db781311af79510b26fd05cc0556623e75e3eff
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit storage/file package 23/113623/3
Matthias Sohn [Mon, 18 Dec 2017 14:17:21 +0000 (15:17 +0100)]
Fix javadoc in org.eclipse.jgit storage/file package

Change-Id: Ieb2f66aef2cab7e2a6d8e35c5f5047da881994dd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix javadoc in org.eclipse.jgit dfs package 20/113620/4
Matthias Sohn [Mon, 18 Dec 2017 13:45:52 +0000 (14:45 +0100)]
Fix javadoc in org.eclipse.jgit dfs package

Change-Id: I1f5e3dc3ba34b323ee7244dbefee207ce19e6021
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoStoredObjectRepresentationNotAvailableException: Add TODO to fix API in 5.0 55/114355/1
David Pursehouse [Tue, 19 Dec 2017 01:48:06 +0000 (10:48 +0900)]
StoredObjectRepresentationNotAvailableException: Add TODO to fix API in 5.0

Change-Id: I9a0e6acac1b88ddf257fe7b2b7d0142be20250ea
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoStoredObjectRepresentationNotAvailableException: Add constructor that takes cause 89/113589/3
David Pursehouse [Mon, 18 Dec 2017 05:34:13 +0000 (14:34 +0900)]
StoredObjectRepresentationNotAvailableException: Add constructor that takes cause

If the cause can be passed into the constructor, callers don't need to
instantiate it and then explicitly call initCause.

Note that the constructors in this class cause "non-API parameter type"
warnings because ObjectToPack is internal, however it's probably OK
since the only non-internal reference to it is in the pgm.debug package.

Change-Id: Ia4eab24e79f9afe6214ea8160137d941d4048319
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge changes Ifc34e96a,I72be0a0d
David Pursehouse [Mon, 18 Dec 2017 23:33:40 +0000 (18:33 -0500)]
Merge changes Ifc34e96a,I72be0a0d

* changes:
  Fix javadoc in org.eclipse.jgit rewalk package
  Fix javadoc in org.eclipse.jgit ketch package