]> source.dussan.org Git - jgit.git/log
jgit.git
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 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 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 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

5 years agoUpgrade ecj to 3.17.0 58/139258/2
David Pursehouse [Thu, 21 Mar 2019 18:16:15 +0000 (18:16 +0000)]
Upgrade ecj to 3.17.0

Change-Id: Ia0806034668af65196c3223f5ee32065e07bbb2d
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
5 years agoMerge branch 'stable-5.3' 48/139248/1
Matthias Sohn [Thu, 21 Mar 2019 15:47:08 +0000 (16:47 +0100)]
Merge branch 'stable-5.3'

* stable-5.3:
  Fix GC to delete empty fanout directories after repacking

Change-Id: I080ddb03c6143f0bfa24707a10a4d926676d32b1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.2' into stable-5.3 47/139247/1
Matthias Sohn [Thu, 21 Mar 2019 15:45:26 +0000 (16:45 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Fix GC to delete empty fanout directories after repacking

Change-Id: I29e1da15396daaf0036bcb92cfb567cc243db5a1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.1' into stable-5.2 45/139245/1
Matthias Sohn [Thu, 21 Mar 2019 15:14:03 +0000 (16:14 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Fix GC to delete empty fanout directories after repacking

Change-Id: I0cf4d26bdee5ecee43e723c4176efbce777acabc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.0' into stable-5.1 44/139244/1
Matthias Sohn [Thu, 21 Mar 2019 15:07:11 +0000 (16:07 +0100)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Fix GC to delete empty fanout directories after repacking

Change-Id: I5c0e7d59f137c27e4588f20f4472d3ea450cd59c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.11' into stable-5.0 42/139242/1
Matthias Sohn [Thu, 21 Mar 2019 14:55:39 +0000 (15:55 +0100)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Fix GC to delete empty fanout directories after repacking

Change-Id: Idce894a24e126e0fbe7bc9b6a3c64318f1a8eb75
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.10' into stable-4.11 40/139240/1
Matthias Sohn [Thu, 21 Mar 2019 14:35:18 +0000 (15:35 +0100)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Fix GC to delete empty fanout directories after repacking

Change-Id: I7118b9c668dcbb0f5435cc613e964c557bfebf01
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.9' into stable-4.10 38/139238/1
Matthias Sohn [Thu, 21 Mar 2019 14:06:47 +0000 (15:06 +0100)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Fix GC to delete empty fanout directories after repacking

Change-Id: Ibdbfe08eb290286fa738010bad1c604e857885cd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMove filter-line-parsing code to a separate file 92/139192/2
Matthew DeVore [Thu, 21 Mar 2019 01:47:24 +0000 (18:47 -0700)]
Move filter-line-parsing code to a separate file

This code is not specific to V2 of the protocol, so it doesn't belong
there. Move it to its own class.

Change-Id: I8084764147d1d0e2bceaaead59b332a8ec1a0825
Signed-off-by: Matthew DeVore <matvore@gmail.com>
5 years agoUse RefMap instead of HashMap 76/139076/7
Masaya Suzuki [Wed, 20 Mar 2019 03:42:10 +0000 (20:42 -0700)]
Use RefMap instead of HashMap

HashMap<String, Ref> has a memory overhead for refs. Use RefMap.

Change-Id: I3fb4616135dacf687cc3bc2b473effc66ccef5e6
Signed-off-by: Masaya Suzuki <masayasuzuki@google.com>
5 years agoFix GC to delete empty fanout directories after repacking 18/139118/1
Matthias Sohn [Wed, 20 Mar 2019 12:54:10 +0000 (13:54 +0100)]
Fix GC to delete empty fanout directories after repacking

The prune method did not delete empty fanout directories when loose
objects moved to a new pack file but only when loose unreferenced
objects were pruned.

Change-Id: Ia068f4914c54d9cf9f40b75e8ea50759402b5000
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoDescribeCommandTest: Trivially fix formatting by removing a blank line 21/138921/1
Sebastian Schuberth [Mon, 18 Mar 2019 08:30:02 +0000 (09:30 +0100)]
DescribeCommandTest: Trivially fix formatting by removing a blank line

Change-Id: Ibf0343f05b2c08f87e4f3cb0d56a11e797bcde53
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
5 years agoDescribeCommand: Add a missing dots at the end of docs 20/138920/1
Sebastian Schuberth [Fri, 15 Mar 2019 14:26:05 +0000 (15:26 +0100)]
DescribeCommand: Add a missing dots at the end of docs

Ensure the sentences to document fields consistenly end with a dot.

Change-Id: I084899cafe4dea6f2424132dce9f3adca2e20985
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
5 years agoReplace "Checkout" by "Check out" when used as a verb 59/138859/1
Thomas Wolf [Fri, 15 Mar 2019 20:07:42 +0000 (21:07 +0100)]
Replace "Checkout" by "Check out" when used as a verb

One occurrence in core JGit, several in jgit.pgm. One unused
occurrence in jgit.pgm; remove it.

Change-Id: I04c3dd9d9f542f1e1ac6df4cbf03bcefb6bfdf78
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
5 years agoBaseReceive/UploadPack: Stop using deprecated RefAdvertiser.send(Map) 09/138709/3
Ivan Frade [Thu, 14 Mar 2019 04:39:51 +0000 (21:39 -0700)]
BaseReceive/UploadPack: Stop using deprecated RefAdvertiser.send(Map)

RefAdvertiser.send(Map<String, Ref>) is deprecated in favour of
RefAdvertiser.send(Collection<Ref>). Subclasses that need to override
the "send" method need to override also the deprecated version, because
it is still invoked by BaseReceivePack and UploadPack.

Remove the last usages of the deprecated method.

Change-Id: I7eba426970251f78801ddf96b87a65d1baaebdcf
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoMerge branch 'stable-5.3' 80/138680/1
Matthias Sohn [Wed, 13 Mar 2019 16:47:08 +0000 (17:47 +0100)]
Merge branch 'stable-5.3'

* stable-5.3:
  Prepare 5.3.1-SNAPSHOT builds
  JGit v5.3.0.201903130848-r
  Prepare 5.1.7-SNAPSHOT builds
  JGit v5.1.6.201903130242-r
  Prepare 4.11.8-SNAPSHOT builds
  JGit v4.11.7.201903122105-r
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: Ief9f6a9e89c4a1ef122daedbfd933676393fab06
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 5.3.1-SNAPSHOT builds 67/138667/1
Matthias Sohn [Wed, 13 Mar 2019 14:10:17 +0000 (15:10 +0100)]
Prepare 5.3.1-SNAPSHOT builds

Change-Id: I8dc5e47bd19809d684579610edf922abca3cb3cc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v5.3.0.201903130848-r 52/138652/1 v5.3.0.201903130848-r
Matthias Sohn [Wed, 13 Mar 2019 12:47:54 +0000 (13:47 +0100)]
JGit v5.3.0.201903130848-r

Change-Id: I52256a6d07011030698299d9a97dd01ea825fb7f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.2' into stable-5.3 37/138637/1
Matthias Sohn [Wed, 13 Mar 2019 09:14:07 +0000 (10:14 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Prepare 5.1.7-SNAPSHOT builds
  JGit v5.1.6.201903130242-r
  Prepare 4.11.8-SNAPSHOT builds
  JGit v4.11.7.201903122105-r
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: Ia866587a910e620cb297bcb2a81fe0786f4e3db2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.1' into stable-5.2 21/138621/1
Matthias Sohn [Wed, 13 Mar 2019 06:51:34 +0000 (07:51 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Prepare 5.1.7-SNAPSHOT builds
  JGit v5.1.6.201903130242-r
  Prepare 4.11.8-SNAPSHOT builds
  JGit v4.11.7.201903122105-r
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I8da2761ed27ff2817a4136f843b9b293e3c0f4e6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 5.1.7-SNAPSHOT builds 20/138620/1
Matthias Sohn [Wed, 13 Mar 2019 06:49:33 +0000 (07:49 +0100)]
Prepare 5.1.7-SNAPSHOT builds

Change-Id: Ica716b2ad18f8390e75466430ef81c86ea06f004
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v5.1.6.201903130242-r 19/138619/1 v5.1.6.201903130242-r
Matthias Sohn [Wed, 13 Mar 2019 06:41:27 +0000 (07:41 +0100)]
JGit v5.1.6.201903130242-r

Change-Id: Iaf5e451f72dc8512afee99a9f3fb91aa348e3cf5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.0' into stable-5.1 18/138618/1
Matthias Sohn [Wed, 13 Mar 2019 06:37:36 +0000 (07:37 +0100)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 4.11.8-SNAPSHOT builds
  JGit v4.11.7.201903122105-r
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I71771dcc086a9a0097bad74d65ec71ad97106a38
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.11' into stable-5.0 13/138613/1
Matthias Sohn [Wed, 13 Mar 2019 01:21:54 +0000 (02:21 +0100)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.11.8-SNAPSHOT builds
  JGit v4.11.7.201903122105-r
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I04c70f66c6f1e53bdc199fb5b24c9136c9a8e4f7
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.11.8-SNAPSHOT builds 12/138612/1
Matthias Sohn [Wed, 13 Mar 2019 01:13:36 +0000 (02:13 +0100)]
Prepare 4.11.8-SNAPSHOT builds

Change-Id: I92789b0c02e83786961b81556bf2faec5d26b0c1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.11.7.201903122105-r 11/138611/1 v4.11.7.201903122105-r
Matthias Sohn [Wed, 13 Mar 2019 01:04:31 +0000 (02:04 +0100)]
JGit v4.11.7.201903122105-r

Change-Id: I4fc62c304b5a8452ca72a3b305e5732a26120000
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.10' into stable-4.11 10/138610/1
Matthias Sohn [Wed, 13 Mar 2019 00:55:10 +0000 (01:55 +0100)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: Ic66dc00455c05f7627919f682a7221ffeef1629d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.9' into stable-4.10 09/138609/1
Matthias Sohn [Wed, 13 Mar 2019 00:48:06 +0000 (01:48 +0100)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Prepare 4.9.10-SNAPSHOT builds
  JGit v4.9.9.201903122025-r
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: Ifcd8ea6a2b59f6f8e9d896d8407cfcaef0a9375d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.9.10-SNAPSHOT builds 08/138608/1
Matthias Sohn [Wed, 13 Mar 2019 00:34:49 +0000 (01:34 +0100)]
Prepare 4.9.10-SNAPSHOT builds

Change-Id: I2bdbe822ee623c5f15a26d092136d8602cef06ac
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.9.9.201903122025-r 07/138607/1 v4.9.9.201903122025-r
Matthias Sohn [Wed, 13 Mar 2019 00:27:02 +0000 (01:27 +0100)]
JGit v4.9.9.201903122025-r

Change-Id: I807d24461b3557eee48294bfaa652b2a13d78113
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.8' into stable-4.9 06/138606/1
Matthias Sohn [Wed, 13 Mar 2019 00:17:47 +0000 (01:17 +0100)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I9a47153831f8eb10d3cd91b4157cf45385e5b13a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.7' into stable-4.8 05/138605/1
Matthias Sohn [Wed, 13 Mar 2019 00:16:28 +0000 (01:16 +0100)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Prepare 4.7.9-SNAPSHOT builds
  JGit v4.7.8.201903121755-r
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I1136eaa1590b225ceaf16ba7552af0374253a74e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.7.9-SNAPSHOT builds 03/138603/1
Matthias Sohn [Tue, 12 Mar 2019 22:26:43 +0000 (23:26 +0100)]
Prepare 4.7.9-SNAPSHOT builds

Change-Id: I1602a6b811fd9f95e284153b560d8d9f855fae9f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.7.8.201903121755-r 01/138601/1 v4.7.8.201903121755-r
Matthias Sohn [Tue, 12 Mar 2019 21:55:42 +0000 (22:55 +0100)]
JGit v4.7.8.201903121755-r

Change-Id: Ia6dbde615671ed09789326aacad1655e7a7a59ad
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.6' into stable-4.7 00/138600/1
Matthias Sohn [Tue, 12 Mar 2019 21:39:53 +0000 (22:39 +0100)]
Merge branch 'stable-4.6' into stable-4.7

* stable-4.6:
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I3d1544d034783fe0fa1385dfe9b03ad8e9247c63
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.5' into stable-4.6 93/138593/1
Matthias Sohn [Tue, 12 Mar 2019 20:01:55 +0000 (21:01 +0100)]
Merge branch 'stable-4.5' into stable-4.6

* stable-4.5:
  Prepare 4.5.7-SNAPSHOT builds
  JGit v4.5.6.201903121547-r
  Check for packfile validity and fd before reading
  Move throw of PackInvalidException outside the catch
  Use FileSnapshot to get lastModified on PackFile
  Include size when comparing FileSnapshot
  Do not reuse packfiles when changed on filesystem
  Silence API warnings for new API introduced for fixes

Change-Id: I029e1797447e6729de68bd89d4d69b324dbb3f5f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoPrepare 4.5.7-SNAPSHOT builds 84/138584/1
Matthias Sohn [Tue, 12 Mar 2019 19:54:12 +0000 (20:54 +0100)]
Prepare 4.5.7-SNAPSHOT builds

Change-Id: I5c275c542e12746c3d8ecf8462791969f9e89e12
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoJGit v4.5.6.201903121547-r 83/138583/1 v4.5.6.201903121547-r
Matthias Sohn [Tue, 12 Mar 2019 19:47:04 +0000 (20:47 +0100)]
JGit v4.5.6.201903121547-r

Change-Id: I5a071ed10e1ac1ab28f992d45cde335c12556a80
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoCheck for packfile validity and fd before reading 44/138444/3
Luca Milanesio [Sun, 10 Mar 2019 22:03:40 +0000 (22:03 +0000)]
Check for packfile validity and fd before reading

When reading from a packfile, make sure that is valid
and has a non-null file-descriptor.

Because of concurrency between a thread invalidating a packfile
and another trying to read it, the read() may result into a NPE
that won't be able to be automatically recovered.

Throwing a PackInvalidException would instead cause the packlist
to be refreshed and the read to eventually succeed.

Bug: 544199
Change-Id: I27788b3db759d93ec3212de35c0094ecaafc2434
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
5 years agoMove throw of PackInvalidException outside the catch 63/138163/5
Luca Milanesio [Wed, 6 Mar 2019 11:30:07 +0000 (11:30 +0000)]
Move throw of PackInvalidException outside the catch

When a packfile is invalid, throw an exception explicitly
outside any catch scope, so that is not accidentally caught
by the generic catch-all cause, which would set the packfile
as valid again.

Flagging an invalid packfile as valid again would have
dangerous consequences such as the corruption of the in-memory
packlist.

Bug: 544199
Change-Id: If7a3188a68d7985776b509d636d5ddf432bec798
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
5 years agoUse FileSnapshot to get lastModified on PackFile 21/138521/2
Luca Milanesio [Tue, 12 Mar 2019 07:00:01 +0000 (07:00 +0000)]
Use FileSnapshot to get lastModified on PackFile

Do not redundantly call File.lastModified() for extracting the
timestamp of the PackFile but rather use consistently the FileSnapshot
which reads all file attributes in a single bulk call.

Change-Id: I932675ae4fe56dcd3833dac249816f097303bb09
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoInclude size when comparing FileSnapshot 00/138200/6
Luca Milanesio [Wed, 6 Mar 2019 17:51:59 +0000 (17:51 +0000)]
Include size when comparing FileSnapshot

Due to finite filesystem timestamp resolution the last modified
timestamp of files cannot detect file changes which happened in the
immediate past (less than one filesystem timer tick ago).

Read and consider file size also, so that differing file size can help
to more accurately detect file changes without reading the file content.
Use bulk read to avoid multiple stat calls to retrieve file attributes.

Change-Id: I974288fff78ac78c52245d9218b5639603f67a46
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoDo not reuse packfiles when changed on filesystem 90/138190/4
Luca Milanesio [Wed, 6 Mar 2019 00:31:45 +0000 (00:31 +0000)]
Do not reuse packfiles when changed on filesystem

The pack reload mechanism from the filesystem works only by name
and does not check the actual last modified date of the packfile.

This lead to concurrency issues where multiple threads were loading
and removing from each other list of packfiles when one of those
was failing the checksum.

Rely on FileSnapshot rather than directly checking lastModified
timestamp so that more checks can be performed.

Bug: 544199
Change-Id: I173328f29d9914007fd5eae3b4c07296ab292390
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
5 years agoSilence API warnings for new API introduced for fixes 60/138560/1
Matthias Sohn [Tue, 12 Mar 2019 13:30:20 +0000 (14:30 +0100)]
Silence API warnings for new API introduced for fixes

Change-Id: I3ea7ff2efd33ca6c780afaef9010cec82780d7fa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.3' 12/138512/1
Matthias Sohn [Mon, 11 Mar 2019 23:13:59 +0000 (00:13 +0100)]
Merge branch 'stable-5.3'

* stable-5.3:
  Reduce contention on PackFile.idx() function.
  Use SystemReader in JSchConfigSessionFactoryTest
  Avoid NPE in ObjectId.isId()

Change-Id: I1d13f6fb705258ae6d6e5fa5e733bfacd4f3d0e3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.2' into stable-5.3 11/138511/1
Matthias Sohn [Mon, 11 Mar 2019 23:12:59 +0000 (00:12 +0100)]
Merge branch 'stable-5.2' into stable-5.3

* stable-5.2:
  Reduce contention on PackFile.idx() function.

Change-Id: I6bf4c1db695b8fa134ea425bbd488d2dc5438152
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.1' into stable-5.2 10/138510/1
Matthias Sohn [Mon, 11 Mar 2019 23:11:54 +0000 (00:11 +0100)]
Merge branch 'stable-5.1' into stable-5.2

* stable-5.1:
  Reduce contention on PackFile.idx() function.

Change-Id: I3f981dd923209e4d2d23f3b10db9fda1e9e68104
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-5.0' into stable-5.1 09/138509/1
Matthias Sohn [Mon, 11 Mar 2019 23:10:51 +0000 (00:10 +0100)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Reduce contention on PackFile.idx() function.

Change-Id: Ic50f375faa757076e2dfd6c25e9e0025482aa3d9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.11' into stable-5.0 08/138508/1
Matthias Sohn [Mon, 11 Mar 2019 23:09:34 +0000 (00:09 +0100)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Reduce contention on PackFile.idx() function.

Change-Id: Ib1be8c04c9587c595f7d95df26f7be9b237bda40
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.10' into stable-4.11 07/138507/1
Matthias Sohn [Mon, 11 Mar 2019 23:08:13 +0000 (00:08 +0100)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Reduce contention on PackFile.idx() function.

Change-Id: I5dd7576018ab2e85d77d336f97c8e77ad71520c9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoMerge branch 'stable-4.9' into stable-4.10 06/138506/1
Matthias Sohn [Mon, 11 Mar 2019 23:05:55 +0000 (00:05 +0100)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Reduce contention on PackFile.idx() function.

Change-Id: I277e53aa752c8ffb8560de710d27ecb58871ec02
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoReduce contention on PackFile.idx() function. 99/138499/1
Juergen Denner [Tue, 15 Jan 2019 12:22:54 +0000 (13:22 +0100)]
Reduce contention on PackFile.idx() function.

In case of concurrent pack file access, threads may wait on the idx()
function even for already open files. This happens especially with a
slow file system.

Performance numbers are listed in the bug report.

Bug: 543739
Change-Id: Iff328d347fa65ae07ecce3267d44184161248978
Signed-off-by: Juergen Denner <j.denner@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoUse SystemReader in JSchConfigSessionFactoryTest 14/138414/2
Matthias Sohn [Sat, 9 Mar 2019 00:21:40 +0000 (01:21 +0100)]
Use SystemReader in JSchConfigSessionFactoryTest

This isolates the test from the concrete system it's running on.
SshSessionFactory reads the user also through SystemReader.

Change-Id: I1c796aa1c498fe3967456d8589e6be0a82ab8f44
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoAvoid NPE in ObjectId.isId() 20/138420/2
Michael Keppler [Sat, 9 Mar 2019 11:37:10 +0000 (12:37 +0100)]
Avoid NPE in ObjectId.isId()

That method can easily be invoked with a null argument (e.g.
isId(repo.getFullBranch()), therefore it should handle null arguments.

Change was suggested in https://git.eclipse.org/r/#/c/137918/, which
tried to fix the same in egit only.

Bug:544982
Change-Id: I32d1df6e9b2946ab324eda7008721159019316b3
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
5 years agoFix Javadoc typo 90/138390/1
Michael Keppler [Fri, 8 Mar 2019 13:43:30 +0000 (14:43 +0100)]
Fix Javadoc typo

Change-Id: I3f169eaf649843e954762bb4ac8f72fa5f88a67a
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
5 years agoUploadPack: Do not retain commit body when checking wants 14/138314/1
Jonathan Nieder [Fri, 8 Mar 2019 03:58:35 +0000 (19:58 -0800)]
UploadPack: Do not retain commit body when checking wants

The commit body contains the commit message, which is not needed for
reachability checks.

Change-Id: Ie209c3b3f022579942f05b8b5d0625ce26400a5d
Signed-off-by: Jonathan Nieder <jrn@google.com>
5 years agoFetchV2Request.getWantedRefs: Bump @since to 5.4 12/138312/2
Ivan Frade [Fri, 8 Mar 2019 01:33:35 +0000 (17:33 -0800)]
FetchV2Request.getWantedRefs: Bump @since to 5.4

The visibility change was merged after 5.3 release. The @since line
is wrong.

Fixing it in a new commit looks like the easiest way forward.

Change-Id: I6f72a9e684e99a4440cda1eb532c22b4b7bbdea5
Signed-off-by: Ivan Frade <ifrade@google.com>
5 years agoMerge "FetchV2Request: make getWantedRefs public"
Jonathan Nieder [Thu, 7 Mar 2019 22:28:05 +0000 (17:28 -0500)]
Merge "FetchV2Request: make getWantedRefs public"

5 years agoMerge "Prepare 5.4.0-SNAPSHOT builds"
Matthias Sohn [Thu, 7 Mar 2019 16:16:46 +0000 (11:16 -0500)]
Merge "Prepare 5.4.0-SNAPSHOT builds"

5 years agoMerge "Merge branch 'stable-5.3'"
Matthias Sohn [Thu, 7 Mar 2019 16:16:27 +0000 (11:16 -0500)]
Merge "Merge branch 'stable-5.3'"

5 years agoPrepare 5.4.0-SNAPSHOT builds 34/138234/1
Matthias Sohn [Wed, 6 Mar 2019 23:34:14 +0000 (00:34 +0100)]
Prepare 5.4.0-SNAPSHOT builds

Change-Id: I90a4791f63d0eba23da744c720e869f1830b86e7
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 years agoDo not retain commit body in RevWalk for reachability checks 31/138231/1
Minh Thai [Wed, 6 Mar 2019 23:25:10 +0000 (15:25 -0800)]
Do not retain commit body in RevWalk for reachability checks

Commit body contains the message that is not needed for reachability checks, and
takes up memory unnecessarily.

Change-Id: I0c7f6da249bf9c4fda9dc9e62e809322c68effce
Signed-off-by: Minh Thai <mthai@google.com>