]> source.dussan.org Git - jgit.git/log
jgit.git
6 years agoPrepare 5.1.3-SNAPSHOT builds 23/130523/2
Matthias Sohn [Sat, 6 Oct 2018 16:54:50 +0000 (18:54 +0200)]
Prepare 5.1.3-SNAPSHOT builds

Change-Id: I75c1a01885115fc709ab37f181234264c3f7423a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v5.1.2.201810061102-r 41/130541/1 v5.1.2.201810061102-r
Matthias Sohn [Sat, 6 Oct 2018 15:10:45 +0000 (17:10 +0200)]
JGit v5.1.2.201810061102-r

Change-Id: Id34e4ae12a796460862edc37c5eb072314199bf4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 00/130500/4
Matthias Sohn [Sat, 6 Oct 2018 14:56:12 +0000 (16:56 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 4.11.5-SNAPSHOT builds
  JGit v4.11.4.201810060650-r
  Fix configuration of maven-javadoc-plugin
  Prepare 4.9.7-SNAPSHOT builds
  JGit v4.9.6.201810051924-r
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

* Fix todos in SubmoduleAddTest

Change-Id: I53272081094b8948a40a1ce409af08b6ef330c1e
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 99/130499/4
Matthias Sohn [Sat, 6 Oct 2018 12:44:12 +0000 (14:44 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.11.5-SNAPSHOT builds
  JGit v4.11.4.201810060650-r
  Fix configuration of maven-javadoc-plugin
  Prepare 4.9.7-SNAPSHOT builds
  JGit v4.9.6.201810051924-r
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

* Fix configuration of maven-javadoc-plugin for site generation

Change-Id: Ic6ff8d324867ee41f15a5b890c7eee5092e8453e
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.11.5-SNAPSHOT builds 20/130520/2
Matthias Sohn [Sat, 6 Oct 2018 12:07:37 +0000 (14:07 +0200)]
Prepare 4.11.5-SNAPSHOT builds

Change-Id: Ifbe76e14264e8b547930e2320e8e81d728bd6e38
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.11.4.201810060650-r 19/130519/2 v4.11.4.201810060650-r
Matthias Sohn [Sat, 6 Oct 2018 10:50:29 +0000 (12:50 +0200)]
JGit v4.11.4.201810060650-r

Change-Id: I5700ebd341b6b997a7757b17e7d731c4ce608ec2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 35/130535/1
Matthias Sohn [Sat, 6 Oct 2018 09:00:09 +0000 (11:00 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Fix configuration of maven-javadoc-plugin

Change-Id: I80db074c45e840f15e227a400ef637b85084e711
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix configuration of maven-javadoc-plugin 31/130531/1
Matthias Sohn [Sat, 6 Oct 2018 08:55:47 +0000 (10:55 +0200)]
Fix configuration of maven-javadoc-plugin

Since maven-javadoc-plugin additionalJOption replaces additionalparam to
pass additional options to JavaDoc.

See https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#additionalJOption

Change-Id: Iddff5873520a181bcb9edf285b0c8db532e930ee
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 98/130498/3
Matthias Sohn [Sat, 6 Oct 2018 00:25:17 +0000 (02:25 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Prepare 4.9.7-SNAPSHOT builds
  JGit v4.9.6.201810051924-r
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

Change-Id: Ibd759f5d425f714e79b3137ff8e5b0f989933de0
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 97/130497/3
Matthias Sohn [Fri, 5 Oct 2018 23:52:38 +0000 (01:52 +0200)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Prepare 4.9.7-SNAPSHOT builds
  JGit v4.9.6.201810051924-r
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

Change-Id: Ie59e34eb591a827d1ce8e483eec6d390a3c81702
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.9.7-SNAPSHOT builds 18/130518/1
Matthias Sohn [Fri, 5 Oct 2018 23:32:40 +0000 (01:32 +0200)]
Prepare 4.9.7-SNAPSHOT builds

Change-Id: I20e7bd6bdebcdb55a8c771314759bd8f98f04ef6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.9.6.201810051924-r 16/130516/1 v4.9.6.201810051924-r
Matthias Sohn [Fri, 5 Oct 2018 23:24:42 +0000 (01:24 +0200)]
JGit v4.9.6.201810051924-r

Change-Id: Ib39aaae26da17aa37d654b24c1defd45126f4ea2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 96/130496/3
Matthias Sohn [Fri, 5 Oct 2018 23:16:08 +0000 (01:16 +0200)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

Change-Id: Ia7a826399d8d5b8a0eb7169b40e98a6f5c207a4c
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 95/130495/3
Matthias Sohn [Fri, 5 Oct 2018 23:03:20 +0000 (01:03 +0200)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Prepare 4.7.6-SNAPSHOT builds
  JGit v4.7.5.201810051826-r
  BaseReceivePack: Validate incoming .gitmodules files
  ObjectChecker: Report .gitmodules files found in the pack
  SubmoduleAddCommand: Reject submodule URIs that look like cli options

Change-Id: Id6fabec4d0b682a7e20a46e88cbc05432efca062
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.7.6-SNAPSHOT builds 15/130515/1
Matthias Sohn [Fri, 5 Oct 2018 22:36:30 +0000 (00:36 +0200)]
Prepare 4.7.6-SNAPSHOT builds

Change-Id: I99b59116999742d8d6cdba26287ea7c6eba11a30
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.7.5.201810051826-r 14/130514/1 v4.7.5.201810051826-r
Matthias Sohn [Fri, 5 Oct 2018 22:27:38 +0000 (00:27 +0200)]
JGit v4.7.5.201810051826-r

Change-Id: I60c7a2eff3dab5083f71df0d9465a4e94b5e2513
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoBaseReceivePack: Validate incoming .gitmodules files 94/130494/6
Ivan Frade [Mon, 1 Oct 2018 20:44:00 +0000 (13:44 -0700)]
BaseReceivePack: Validate incoming .gitmodules files

The main concern are submodule urls starting with '-' that could pass as
options to an unguarded tool.

Pass through the parser the ids of blobs identified as .gitmodules
files in the ObjectChecker. Load the blobs and parse/validate them
in SubmoduleValidator.

Change-Id: Ia0cc32ce020d288f995bf7bc68041fda36be1963
Signed-off-by: Ivan Frade <ifrade@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoObjectChecker: Report .gitmodules files found in the pack 93/130493/3
Ivan Frade [Thu, 27 Sep 2018 20:05:13 +0000 (13:05 -0700)]
ObjectChecker: Report .gitmodules files found in the pack

In order to validate .gitmodules files, we first need to find them
in the incoming pack.

Do it in the ObjectChecker stage. Check in the tree objects if they
point to a .gitmodules file and report the tree id and the .gitmodules
blob id.

This can be used later to check if the file is in the root of the
project and if the contents are good.

While we're here, make isMacHFSGit more accurate by detecting variants
of filenames that vary in case.

[jn: tweaked NTFS and HFS+ checking; added more tests]

Change-Id: I70802e7d2c1374116149de4f89836b9498f39582
Signed-off-by: Ivan Frade <ifrade@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoSubmoduleAddCommand: Reject submodule URIs that look like cli options 92/130492/3
Ivan Frade [Mon, 24 Sep 2018 23:03:35 +0000 (16:03 -0700)]
SubmoduleAddCommand: Reject submodule URIs that look like cli options

In C git versions before 2.19.1, the submodule is fetched by running
"git clone <uri> <path>". A URI starting with "-" would be interpreted
as an option, causing security problems. See CVE-2018-17456.

Refuse to add submodules with URIs, names or paths starting with "-",
that could be confused with command line arguments.

[jn: backported to JGit 4.7.y, bringing portions of Masaya Suzuki's
 dotdot check code in v5.1.0.201808281540-m3~57 (Add API to specify
 the submodule name, 2018-07-12) along for the ride]

Change-Id: I2607c3acc480b75ab2b13386fe2cac435839f017
Signed-off-by: Ivan Frade <ifrade@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoRevert "Configure WindowCache settings to use in JGit CLI" 48/130448/1
Matthias Sohn [Fri, 5 Oct 2018 09:04:53 +0000 (11:04 +0200)]
Revert "Configure WindowCache settings to use in JGit CLI"

This reverts commit e6375445d143d0335a9f5707e9bae1644cbef576.

Hard coding WindowCache settings wasn't a good idea, this prevents that
custom settings can be configured. Also using virtual memory mapping has
issues on Windows.

Bug: 539789
Change-Id: I37434581f9e3db2f1d7442d893f0dda0c2488d93
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 63/129963/1
David Pursehouse [Tue, 25 Sep 2018 23:19:27 +0000 (08:19 +0900)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: Ie7cb0c8a9775626cf2a2daae04b2d1f73a6c5af7
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 62/129962/1
David Pursehouse [Tue, 25 Sep 2018 23:18:51 +0000 (08:18 +0900)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: Icacfa8dcd1ced32715fb772c336574318f28ddd1
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 61/129961/1
David Pursehouse [Tue, 25 Sep 2018 23:18:23 +0000 (08:18 +0900)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: I2ab21595531bcd487ce6a5cb0a3bc3c6f6f6e518
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 60/129960/1
David Pursehouse [Tue, 25 Sep 2018 23:17:54 +0000 (08:17 +0900)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: I3dff04d2ea99e5b6331e45e3ea2ccc78fb2d5a02
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 59/129959/1
David Pursehouse [Tue, 25 Sep 2018 23:17:26 +0000 (08:17 +0900)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: Ie3de769209ec8477c97df5f90b8c63c03e023be0
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 58/129958/1
David Pursehouse [Tue, 25 Sep 2018 23:16:47 +0000 (08:16 +0900)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  ObjectDownloadListener#onWritePossible: Add comment on return statement

Change-Id: Id0833112b0be4e78af375ee1fc78287743d7bc4c
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoObjectDownloadListener#onWritePossible: Add comment on return statement 98/129898/2
David Ostrovsky [Tue, 25 Sep 2018 06:20:57 +0000 (08:20 +0200)]
ObjectDownloadListener#onWritePossible: Add comment on return statement

It is not obvious why this return statement is needed. Clarify with a
comment that otherwise endless loop may show up when recent versions
of Jetty are used.

Change-Id: I8e5d4de51869fb1179bf599bfb81bcd7d745874b
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
6 years agoPrepare 5.1.2-SNAPSHOT builds 49/129649/1
Matthias Sohn [Tue, 18 Sep 2018 15:03:49 +0000 (17:03 +0200)]
Prepare 5.1.2-SNAPSHOT builds

Change-Id: I095d246e27de747a234bc058725454c222be51ce
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v5.1.1.201809181055-r 48/129648/1 v5.1.1.201809181055-r
Matthias Sohn [Tue, 18 Sep 2018 14:55:20 +0000 (16:55 +0200)]
JGit v5.1.1.201809181055-r

Change-Id: I2366444fca125139eadb6d513be721167a266d70
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 47/129647/1
Matthias Sohn [Tue, 18 Sep 2018 14:52:55 +0000 (16:52 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 4.11.4-SNAPSHOT builds
  JGit v4.11.3.201809181037-r
  Prepare 4.9.6-SNAPSHOT builds
  JGit v4.9.5.201809180939-r
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: I2ee1da73b4eb26f0017dd13a983aca62d4161c61
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 45/129645/1
Matthias Sohn [Tue, 18 Sep 2018 14:50:51 +0000 (16:50 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.11.4-SNAPSHOT builds
  JGit v4.11.3.201809181037-r
  Prepare 4.9.6-SNAPSHOT builds
  JGit v4.9.5.201809180939-r
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: I3f43af45a4c9023f0e8638fa1920db5d69276502
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.11.4-SNAPSHOT builds 44/129644/1
Matthias Sohn [Tue, 18 Sep 2018 14:46:18 +0000 (16:46 +0200)]
Prepare 4.11.4-SNAPSHOT builds

Change-Id: Id2f83eb3b2070637997cfece59f4f15698267908
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.11.3.201809181037-r 43/129643/1 v4.11.3.201809181037-r
Matthias Sohn [Tue, 18 Sep 2018 14:36:53 +0000 (16:36 +0200)]
JGit v4.11.3.201809181037-r

Change-Id: I6b57b02e41f02916127b1866d573a634d6f6d796
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 39/129639/1
Matthias Sohn [Tue, 18 Sep 2018 14:06:26 +0000 (16:06 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Prepare 4.9.6-SNAPSHOT builds
  JGit v4.9.5.201809180939-r
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: I6633f1e147444385c999a6ff1d443b8a07d08bfc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 37/129637/1
Matthias Sohn [Tue, 18 Sep 2018 14:02:22 +0000 (16:02 +0200)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: I19b9be956b4e9bb1bba303ad879baac250988e8e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.9.6-SNAPSHOT builds 34/129634/1
Matthias Sohn [Tue, 18 Sep 2018 13:55:12 +0000 (15:55 +0200)]
Prepare 4.9.6-SNAPSHOT builds

Change-Id: I9fb8f6cc45409e0884b898187323ac91953754c3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.9.5.201809180939-r 33/129633/1 v4.9.5.201809180939-r
Matthias Sohn [Tue, 18 Sep 2018 13:44:16 +0000 (15:44 +0200)]
JGit v4.9.5.201809180939-r

Change-Id: I36199607f3ec6e8bb841e9d9eade12251312447c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 32/129632/1
Matthias Sohn [Tue, 18 Sep 2018 13:33:00 +0000 (15:33 +0200)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: Ic353f93864ca4aec315f398f5c3e047dcda23125
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 26/129626/1
Matthias Sohn [Tue, 18 Sep 2018 13:20:57 +0000 (15:20 +0200)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Prepare 4.7.5-SNAPSHOT builds
  JGit v4.7.4.201809180905-r
  Update API problem filter

Change-Id: I9a9abcd2e48e19295d537241c951308cd0210019
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.7.5-SNAPSHOT builds 23/129623/1
Matthias Sohn [Tue, 18 Sep 2018 13:16:36 +0000 (15:16 +0200)]
Prepare 4.7.5-SNAPSHOT builds

Change-Id: Ifce4311fe9429d751cec5b326b540d6233762153
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.7.4.201809180905-r 22/129622/1 v4.7.4.201809180905-r
Matthias Sohn [Tue, 18 Sep 2018 13:05:11 +0000 (15:05 +0200)]
JGit v4.7.4.201809180905-r

Change-Id: Iceee69df5fd593bece4532d5781e3771f5761ef8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate API problem filter 21/129621/1
Matthias Sohn [Tue, 18 Sep 2018 13:03:40 +0000 (15:03 +0200)]
Update API problem filter

Change-Id: Ie15c7d0b320f75915c362f5bd3bd6b39d84a900a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 88/129588/1
David Pursehouse [Tue, 18 Sep 2018 00:19:13 +0000 (09:19 +0900)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: Ib7a63b5144a89c213aff3b32c30a2a6526355e64
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 87/129587/1
David Pursehouse [Tue, 18 Sep 2018 00:18:34 +0000 (09:18 +0900)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: Iffe202a412b3bca1c8d8d7dc5dfd646c49838de9
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 86/129586/1
David Pursehouse [Tue, 18 Sep 2018 00:16:58 +0000 (09:16 +0900)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: I28ebf6138ccd9425fc05319de78c7716f0bdd199
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 85/129585/1
David Pursehouse [Tue, 18 Sep 2018 00:16:26 +0000 (09:16 +0900)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: Ib7d01cb0ece8b259156855045a53b8baf3fa2968
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 84/129584/1
David Pursehouse [Tue, 18 Sep 2018 00:15:57 +0000 (09:15 +0900)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: Id8eb635094336567d9f3c28ec985cd5127d31632
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 81/129581/2
David Pursehouse [Tue, 18 Sep 2018 00:15:02 +0000 (09:15 +0900)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Fix ObjectUploadListener#close
  Fix error handling in FileLfsServlet
  ObjectDownloadListener#onWritePossible: Make code spec compatible
  ObjectDownloadListener: Return from onWritePossible when data is written
  Fix IOException when LockToken#close fails

Change-Id: Iad9836811be034cf992ea25dad4409addba75115
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoFix ObjectUploadListener#close 82/129582/1
Matthias Sohn [Mon, 17 Sep 2018 23:14:34 +0000 (01:14 +0200)]
Fix ObjectUploadListener#close

Do not try to set response status if response is already committed.

Change-Id: I9a7c2871c86eb53416b905324775f3ed961c8ae6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix error handling in FileLfsServlet 02/129502/2
Matthias Sohn [Sun, 16 Sep 2018 22:35:33 +0000 (00:35 +0200)]
Fix error handling in FileLfsServlet

Check in #sendError method if the response was committed already.

If yes we cannot set response status or send an error message, last
resort is to close the outputstream.

If the response wasn't yet committed first reset the response before
using writer to send the error message to the client since mixing STREAM
and WRITE mode (mixing asynchronous and blocking I/O) is illegal in
servlet 3.1.

see the following bugs in the gerrit and jetty issue trackers
https://bugs.chromium.org/p/gerrit/issues/detail?id=9667
https://bugs.chromium.org/p/gerrit/issues/detail?id=9721
https://github.com/eclipse/jetty.project/issues/2911

Change-Id: Ie35563c2e0ac1c5e918185a746622589a880dc7f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoObjectDownloadListener#onWritePossible: Make code spec compatible 01/129501/6
David Ostrovsky [Sat, 15 Sep 2018 19:09:51 +0000 (21:09 +0200)]
ObjectDownloadListener#onWritePossible: Make code spec compatible

Current code violates the ServletOutputStream contract. For every
out.isReady() == true either write or close of that ServletOutputStream
should be called.

See also this issue upstream for more context: [1].

[1] https://github.com/eclipse/jetty.project/issues/2911

Change-Id: Ied575f3603a6be0d2dafc6c3329d685fc212c7a3
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoObjectDownloadListener: Return from onWritePossible when data is written 73/129473/3
David Ostrovsky [Sat, 15 Sep 2018 19:09:51 +0000 (21:09 +0200)]
ObjectDownloadListener: Return from onWritePossible when data is written

When buffer was written not only call AsyncContext#complete() but also
return from the ObjectDownloadListener#onWritePossible(). This avoids
endless loop after upgrading from Jetty 9.3.x to 9.4.x lines.

In Jetty example implementation:[1] the return statemnt is also used:

  // If we are at EOF then complete
  if (len < 0)
  {
    async.complete();
    return;
  }

See also this issue upstream: [2].

[1] https://webtide.com/servlet-3-1-async-io-and-jetty
[2] https://github.com/eclipse/jetty.project/issues/2911

Change-Id: Iac73fb25e67d40228a378a8e34103f1d28b72a76
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
6 years agoFix IOException when LockToken#close fails 60/129460/3
Matthias Sohn [Sat, 15 Sep 2018 00:35:03 +0000 (02:35 +0200)]
Fix IOException when LockToken#close fails

This happened if the LockTokens hard link was already deleted earlier.

Bug: 531759
Change-Id: Idc84bd695fac1a763b3cbb797c9c4c636a16e329
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix logging null if called process fails 09/129009/4
Cliffred van Velzen [Mon, 10 Sep 2018 06:45:01 +0000 (08:45 +0200)]
Fix logging null if called process fails

If some process executed by FS#readPipe ends in an error,
the error stream is never set as errorMessage because
FS#GobblerThread#waitForProcessCompletion always returned true.
This caused LOG#warn to be called with null.

Return false whenever FS#GobblerThread#waitForProcessCompletion fails.

Bug: 538723
Change-Id: Ic9492bd688431d52c8665f7a2efec2989e95a4ce
Signed-off-by: Cliffred van Velzen <cliffred@cliffred.nl>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 24/129224/1
David Pursehouse [Wed, 12 Sep 2018 12:25:51 +0000 (21:25 +0900)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: I9371f354d685545cc6a268420e44ae4c9577680f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 13/129213/1
David Pursehouse [Wed, 12 Sep 2018 10:03:26 +0000 (19:03 +0900)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: Ic7eaa0b6a4e750bc7853eb549a9e126269ae22cf
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 99/129199/1
David Pursehouse [Wed, 12 Sep 2018 08:02:09 +0000 (17:02 +0900)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: I191d56e3c0f11cf53076b06c7e7a05492c7a03f1
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 96/129196/1
David Pursehouse [Wed, 12 Sep 2018 07:38:48 +0000 (16:38 +0900)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: Ied2d7a70c5544ff012687a1aeb6e07394d9bd6fd
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 95/129195/1
David Pursehouse [Wed, 12 Sep 2018 06:55:07 +0000 (15:55 +0900)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: I5e6cc35f3673545e7ff857e6ed0bcd2c44e50316
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 86/129186/1
David Pursehouse [Wed, 12 Sep 2018 05:05:46 +0000 (14:05 +0900)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Fix NoSuchFileException during directory cleanup in RefDirectory
  Externalize warning message in RefDirectory.delete()
  Suppress warning for trying to delete non-empty directory

Change-Id: I9ec6352b5ff57aa1a3380079dc9165890cc76d49
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoFix NoSuchFileException during directory cleanup in RefDirectory 84/129184/1
Matthias Sohn [Sun, 26 Aug 2018 23:13:38 +0000 (01:13 +0200)]
Fix NoSuchFileException during directory cleanup in RefDirectory

Bug: 538285
Change-Id: Iab5c381a412cb2c2176af55189668c267ed29fbc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
(cherry picked from commit 8ab89ef066f91a7d39b705f4e61498f37291ffab)
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoUpdate japicmp to 0.13.0 81/129181/1
Matthias Sohn [Tue, 11 Sep 2018 21:26:47 +0000 (23:26 +0200)]
Update japicmp to 0.13.0

Change-Id: Ib2bbdef1e1ede55115d1526b6699e905623c36a5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 5.1.1-SNAPSHOT builds 80/129180/1
Matthias Sohn [Tue, 11 Sep 2018 21:27:23 +0000 (23:27 +0200)]
Prepare 5.1.1-SNAPSHOT builds

Change-Id: Ie220dd95fae18f894e2a04a5ae6d29a1e5a6d76b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v5.1.0.201809111528-r 71/129171/1 v5.1.0.201809111528-r
Matthias Sohn [Tue, 11 Sep 2018 19:30:23 +0000 (21:30 +0200)]
JGit v5.1.0.201809111528-r

Change-Id: I583bf7d60bccc876156be1f605bfda32b89cd08b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoExternalize warning message in RefDirectory.delete() 75/129075/1
Matthias Sohn [Thu, 23 Aug 2018 09:44:28 +0000 (11:44 +0200)]
Externalize warning message in RefDirectory.delete()

Change-Id: Icec16c01853a3f5ea016d454b3d48624498efcce
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
(cherry picked from commit 5e68fe245fb97f38620ea683dbeab724bf86da4c)
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoSuppress warning for trying to delete non-empty directory 74/129074/1
Thomas Wolf [Sun, 19 Aug 2018 18:48:06 +0000 (20:48 +0200)]
Suppress warning for trying to delete non-empty directory

This is actually a fairly common occurrence; deleting the parent
directories can work only if the file deleted was the last one
in the directory.

Bug: 537872
Change-Id: I86d1d45e1e2631332025ff24af8dfd46c9725711
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
(cherry picked from commit d9e767b431eae7978613cc8e0ade7467ec04376c)
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
6 years agoFix replacement quoting for replaceAll in filter command 52/128352/4
Markus Duft [Thu, 30 Aug 2018 06:27:37 +0000 (08:27 +0200)]
Fix replacement quoting for replaceAll in filter command

According to String.replaceAll JavaDoc:

"Note that backslashes (\) and dollar signs ($) in the replacement
string may cause the results to be different than if it were being
treated as a literal replacement string; see Matcher.replaceAll. Use
java.util.regex.Matcher.quoteReplacement to suppress the special meaning
of these characters, if desired."

Bug: 536318
Change-Id: Ib70cfec41bf73e14d23d94d14aee05a25b1e87f6
Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 69/129069/1
Matthias Sohn [Mon, 10 Sep 2018 19:30:41 +0000 (21:30 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 4.11.3-SNAPSHOT builds
  JGit v4.11.2.201809100523-r

Change-Id: I6bd3cb830b7b44dc6e5fd66ff0732957be6b5710
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 68/129068/1
Matthias Sohn [Mon, 10 Sep 2018 19:29:46 +0000 (21:29 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.11.3-SNAPSHOT builds
  JGit v4.11.2.201809100523-r

Change-Id: I8a6f2667f9e43d53e995554224c2a538d1959996
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.11.3-SNAPSHOT builds 35/129035/1
Matthias Sohn [Mon, 10 Sep 2018 11:13:19 +0000 (13:13 +0200)]
Prepare 4.11.3-SNAPSHOT builds

Change-Id: I4f5dda6da3f6ecd9b99c1d9a220844c5402f1988
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.11.2.201809100523-r 34/129034/1 v4.11.2.201809100523-r
Matthias Sohn [Mon, 10 Sep 2018 09:24:32 +0000 (11:24 +0200)]
JGit v4.11.2.201809100523-r

Change-Id: I85dab173a94b3036ccf669c20b9dffb4af0922b4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUpdate Orbit 2018-09 to R20180905201904 99/128999/2
Matthias Sohn [Sun, 9 Sep 2018 20:02:17 +0000 (22:02 +0200)]
Update Orbit 2018-09 to R20180905201904

Change-Id: I15e79024b89e45a5ba60c7aba909d899733bcb2f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 92/128992/2
Matthias Sohn [Sun, 9 Sep 2018 19:01:35 +0000 (21:01 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Prepare 5.0.4-SNAPSHOT builds
  JGit v5.0.3.201809091024-r
  Prepare 4.9.5-SNAPSHOT builds
  JGit v4.9.4.201809090327-r
  Fix @since tag for LOCK_SUFFIX
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: I9117b961035ee527cb8e1dd5df59976fff83829d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 5.0.4-SNAPSHOT builds 91/128991/1
Matthias Sohn [Sun, 9 Sep 2018 15:28:59 +0000 (17:28 +0200)]
Prepare 5.0.4-SNAPSHOT builds

Change-Id: Ib9042662c3f2a1544d597d476c5952c61767687b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v5.0.3.201809091024-r 89/128989/1 v5.0.3.201809091024-r
Matthias Sohn [Sun, 9 Sep 2018 14:24:44 +0000 (16:24 +0200)]
JGit v5.0.3.201809091024-r

Change-Id: I9e8e74a10dbb235b08c6a5e1b169c5cae440f129
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 88/128988/1
Matthias Sohn [Sun, 9 Sep 2018 13:49:32 +0000 (15:49 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Prepare 4.9.5-SNAPSHOT builds
  JGit v4.9.4.201809090327-r
  Fix @since tag for LOCK_SUFFIX
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: Ia72fc409f0262565cf31b8bc62737c78fc4c3485
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 87/128987/1
Matthias Sohn [Sun, 9 Sep 2018 13:44:44 +0000 (15:44 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Prepare 4.9.5-SNAPSHOT builds
  JGit v4.9.4.201809090327-r
  Fix @since tag for LOCK_SUFFIX
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: I8e962758973753fe7baffd959050593a059ee44e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 86/128986/1
Matthias Sohn [Sun, 9 Sep 2018 13:43:04 +0000 (15:43 +0200)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Prepare 4.9.5-SNAPSHOT builds
  JGit v4.9.4.201809090327-r
  Fix @since tag for LOCK_SUFFIX
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: I78099d2a5ba895273ca3ac587c7aa5f3f43fe869
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUse the same default diff.renameLimit = 400 like native git 82/128982/1
Matthias Sohn [Thu, 6 Sep 2018 09:40:59 +0000 (11:40 +0200)]
Use the same default diff.renameLimit = 400 like native git

Bug: 434085
Change-Id: I43a0401049cd85b2c7a2162ccc071af7fffdfed3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.9.5-SNAPSHOT builds 78/128978/1
Matthias Sohn [Sun, 9 Sep 2018 07:36:35 +0000 (09:36 +0200)]
Prepare 4.9.5-SNAPSHOT builds

Change-Id: Ie8d2b60be1803399027e1a3e9734625278a63861
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.9.4.201809090327-r 77/128977/1 v4.9.4.201809090327-r
Matthias Sohn [Sun, 9 Sep 2018 07:29:05 +0000 (09:29 +0200)]
JGit v4.9.4.201809090327-r

Change-Id: I13488a915fe0ba871c5f37c6e9efc6f436083171
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 76/128976/1
Matthias Sohn [Sun, 9 Sep 2018 07:23:51 +0000 (09:23 +0200)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Fix @since tag for LOCK_SUFFIX
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: Id3c85149316cbe671e55f41438bd3a3a892b4ed0

6 years agoMerge branch 'stable-4.7' into stable-4.8 75/128975/1
Matthias Sohn [Sun, 9 Sep 2018 06:48:59 +0000 (08:48 +0200)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Prepare 4.7.4-SNAPSHOT builds
  JGit v4.7.3.201809090215-r

Change-Id: I980807ad4701f9e510354b505c9556e123f32471
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix @since tag for LOCK_SUFFIX 74/128974/1
Matthias Sohn [Sun, 9 Sep 2018 06:46:11 +0000 (08:46 +0200)]
Fix @since tag for LOCK_SUFFIX

Change-Id: Ia65cf3f12ec6d35a21b4d9332be912f06d8bf834
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoPrepare 4.7.4-SNAPSHOT builds 72/128972/1
Matthias Sohn [Sun, 9 Sep 2018 06:24:16 +0000 (08:24 +0200)]
Prepare 4.7.4-SNAPSHOT builds

Change-Id: Ie4d17e1604270946606e75145012c5b7fa1283eb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v4.7.3.201809090215-r 71/128971/1 v4.7.3.201809090215-r
Matthias Sohn [Sun, 9 Sep 2018 06:15:48 +0000 (08:15 +0200)]
JGit v4.7.3.201809090215-r

Change-Id: I1ded7a2b61235509c5a6ba95e7329e288bbfddb1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-5.0' into stable-5.1 51/128951/2
Matthias Sohn [Sat, 8 Sep 2018 09:17:38 +0000 (11:17 +0200)]
Merge branch 'stable-5.0' into stable-5.1

* stable-5.0:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: I3c8892e33516bdcadd983e7ab668635b7fa3d4c5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.11' into stable-5.0 50/128950/1
Matthias Sohn [Sat, 8 Sep 2018 09:06:28 +0000 (11:06 +0200)]
Merge branch 'stable-4.11' into stable-5.0

* stable-4.11:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: Ifcc8bfab4fd05c18a08dd82588860dffd0e6d726
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.10' into stable-4.11 49/128949/1
Matthias Sohn [Sat, 8 Sep 2018 08:05:36 +0000 (10:05 +0200)]
Merge branch 'stable-4.10' into stable-4.11

* stable-4.10:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: Ie86079d9ad76972306bc80e63d8bfe18ae06a0da
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.9' into stable-4.10 48/128948/1
Matthias Sohn [Sat, 8 Sep 2018 07:18:19 +0000 (09:18 +0200)]
Merge branch 'stable-4.9' into stable-4.10

* stable-4.9:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: I32dc651870b7ba7c88de448c7984134b7c99e7e3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.8' into stable-4.9 47/128947/1
Matthias Sohn [Sat, 8 Sep 2018 07:02:08 +0000 (09:02 +0200)]
Merge branch 'stable-4.8' into stable-4.9

* stable-4.8:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: Id7f68f4e8fb07a21737e3b7090f600507a13bbbe
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'stable-4.7' into stable-4.8 46/128946/2
Matthias Sohn [Sat, 8 Sep 2018 05:19:13 +0000 (07:19 +0200)]
Merge branch 'stable-4.7' into stable-4.8

* stable-4.7:
  Fix atomic lock file creation on NFS
  Use constant for ".lock"
  Fix handling of option core.supportsAtomicCreateNewFile
  GC: Avoid logging errors when deleting non-empty folders

Change-Id: Ia7a18f69eee173aec9e462c16eee2b0ca4565e76
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix atomic lock file creation on NFS 91/128091/8
Matthias Sohn [Sun, 26 Aug 2018 17:44:29 +0000 (19:44 +0200)]
Fix atomic lock file creation on NFS

FS_POSIX.createNewFile(File) failed to properly implement atomic file
creation on NFS using the algorithm [1]:
- name of the hard link must be unique to prevent that two processes
  using different NFS clients try to create the same link. This would
  render nlink useless to detect if there was a race.
- the hard link must be retained for the lifetime of the file since we
  don't know when the state of the involved NFS clients will be
  synchronized. This depends on NFS configuration options.

To fix these issues we need to change the signature of createNewFile
which would break API. Hence deprecate the old method
FS.createNewFile(File) and add a new method createNewFileAtomic(File).

The new method returns a LockToken which needs to be retained by the
caller (LockFile) until all involved NFS clients synchronized their
state. Since we don't know when the NFS caches are synchronized we need
to retain the token until the corresponding file is no longer needed.
The LockToken must be closed after the LockFile using it has been
committed or unlocked. On Posix, if core.supportsAtomicCreateNewFile =
false this will delete the hard link which guarded the atomic creation
of the file. When acquiring the lock fails ensure that the hard link is
removed.

[1] https://www.time-travellers.org/shane/papers/NFS_considered_harmful.html
also see file creation flag O_EXCL in
http://man7.org/linux/man-pages/man2/open.2.html

Change-Id: I84fcb16143a5f877e9b08c6ee0ff8fa4ea68a90d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoUse constant for ".lock" 89/128889/2
Matthias Sohn [Fri, 8 Jun 2018 15:22:54 +0000 (17:22 +0200)]
Use constant for ".lock"

(cherry picked from commit 5f27032fb85694a093f827581216d4ffb99db68b)

Change-Id: I6bc0e9a910b110418a82d8e574fb2aecc3a31d6a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoFix handling of option core.supportsAtomicCreateNewFile 76/128876/1
Christian Halstrick [Fri, 17 Aug 2018 15:46:09 +0000 (17:46 +0200)]
Fix handling of option core.supportsAtomicCreateNewFile

When core.supportsAtomicCreateNewFile was set to false and the
repository was located on a filesystem which doesn't support the file
attribute "unix:nlink" then FS_POSIX#createNewFile may report an error
even if everything was ok. Modify FS_POSIX#createNewFile to silently
ignore this situation. An example of such a filesystem is sshfs where
reading "unix:nlink" always returns 1 (instead of throwing a exception).

Bug: 537969
Change-Id: I6deda7672fa7945efa8706ea1cd652272604ff19
Also-by: Thomas Wolf <thomas.wolf@paranor.ch>
6 years agoPrepare 5.1.0-SNAPSHOT builds 66/128766/1
Matthias Sohn [Wed, 5 Sep 2018 18:41:53 +0000 (20:41 +0200)]
Prepare 5.1.0-SNAPSHOT builds

Change-Id: I3d06c5237edae54b09f465f415f5a308b5e7ceff
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoJGit v5.1.0.201809051400-rc1 65/128765/1 v5.1.0.201809051400-rc1
Matthias Sohn [Wed, 5 Sep 2018 17:55:38 +0000 (19:55 +0200)]
JGit v5.1.0.201809051400-rc1

Change-Id: I0b53f95ee51d94da8b029c9bb10eb854ff9dd4f6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoMerge branch 'master' into stable-5.1 53/128753/1
Matthias Sohn [Wed, 5 Sep 2018 15:52:37 +0000 (17:52 +0200)]
Merge branch 'master' into stable-5.1

* master:
  UploadPackTest: Avoid unnecessarily boxing int into Integer
  Parse signature of GPG-signed commits
  Deprecate Constants.CHARSET in favor of StandardCharsets.UTF_8
  Simplify file creation in ResetCommandTest
  Specify charset when constructing InputStreamReader
  Update Orbit to S20180829155938 for 2018-09 RC1
  Replace useminimalnegotation flag with maxhaves flag
  Extract protocol v2 fetch request parsing to its own class
  FetchV2Request: Rename shallowSince to deepenSince
  FetchV2Request: Correct typo in parameter name
  FetchV2Request round up (doneReceived, renamings)
  Use right variable in error message about depth
  UploadPack: avoid conflating shallow commit lists in protocol v2
  Bazel: Use hyphen instead of underscore in external repository names
  Format BUILD files with buildifier 0.15.0
  Upgrade maven-compiler-plugin to 3.8.0

Change-Id: Ibc6feb828e4ff20a3158e6b75dcfce7617e00b0e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
6 years agoGC: Avoid logging errors when deleting non-empty folders 54/128654/2
Hector Caballero [Tue, 4 Sep 2018 15:15:44 +0000 (11:15 -0400)]
GC: Avoid logging errors when deleting non-empty folders

I88304d34c and Ia555bce00 modified the way errors are handled when
trying to delete non-empty reference folders. Before, this error was
silently ignored as it was considered an expected output. Now, every
failed folder delete is logged which can be noisy.

Ignore the DirectoryNotEmptyException but log any other error avoiding
deletion of an eligible folder.

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

6 years agoUploadPackTest: Avoid unnecessarily boxing int into Integer 89/128589/4
David Pursehouse [Tue, 4 Sep 2018 05:23:14 +0000 (14:23 +0900)]
UploadPackTest: Avoid unnecessarily boxing int into Integer

The statement:

  assertThat(recvStream.available(), is(0));

results in a warning from Eclipse:

  The expression of type int is boxed into Integer

because recvStream.available() returns int, but the hamcrest is()
method takes an Integer.

Replace it with the equivalent JUnit assertion.

Also remove the suppression of another similar warning and fix that
in the same way.

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