Commit Graph

232 Commits

Author SHA1 Message Date
Matthias Sohn ffddf8d437 Merge branch 'stable-4.4'
* stable-4.4:
  Log if Repository.useCnt becomes negative
  Time based eviction strategy for repository cache
  Add method to read time unit from config
  Align include.path max depth with native git
  Config load should not fail on unsupported or nonexistent include path
  Allow using JDK 7 bootclasspath when compiling JGit using Java 8
  Extract work queue to allow reusing it

Change-Id: I6aeedb1cb8b0c3068af344a719c80a03ae68fc23
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-07-12 17:12:41 +02:00
Matthias Sohn 93486301b3 Allow using JDK 7 bootclasspath when compiling JGit using Java 8
When compiling jgit using Java 8 set system property JDK_HOME to
JAVA_HOME path of JDK7 installation to compile against JDK 7 class
libraries. Otherwise jgit may hit runtime exceptions when running on
Java 7 (e.g. return type of ConcurrentHashMap.keySet() in JDK 8 class
library doesn't exist in JDK 7).

Example:
$ mvn clean install -DJDK_HOME=/.../jdk1.7.0_80.jdk/Contents/Home

Bug: 496262
Change-Id: Ib6abe5e544e0492e08b342e1a34b182caf25f94f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-21 10:55:52 +02:00
Matthias Sohn 0900dc08f5 Prepare 4.4.1-SNAPSHOT builds
Change-Id: I4fe1c84b1418126f5b245b8a4f72bb7e37f48eae
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-07 17:30:33 +02:00
Matthias Sohn 399d2929ee JGit v4.4.0.201606070830-r
Change-Id: I5c771a62ac0420424a655a4025c62a4bc28dc44e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-07 13:51:02 +02:00
Matthias Sohn 75b3301939 Prepare 4.5.0-SNAPSHOT builds
Change-Id: I572fe9fea0e5ca0bec4648c916ae95a5b1ccf125
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-01 23:04:07 +02:00
Matthias Sohn 831c811f61 Prepare 4.4.0-SNAPSHOT builds
Change-Id: Ib41dfe4103f013ba87a1ce62ee24bc9e10300eff
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-01 22:36:51 +02:00
Matthias Sohn f3b8653021 JGit v4.4.0.201606011500-rc2
Change-Id: Ifd7b7baba7d676a630e2f742d369c4186ea450a6
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-06-01 20:37:53 +02:00
Matthias Sohn 9720f9e249 Prepare 4.4.0-SNAPSHOT builds
Change-Id: Iba6e423294d3315465648d19087a674a73b5ef28
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-05-25 23:30:55 +02:00
Matthias Sohn f2c58503d7 JGit v4.4.0.201605250940-rc1
Change-Id: Idd8e1664730b979cfbd9a2196081a48a1efa3330
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-05-25 15:14:46 +02:00
Matthias Sohn 3bc46dfed5 Update Maven plugins
to the following versions:
build-helper-maven-plugin 1.10
eclipse-jarsigner-plugin 1.1.3
findbugs-maven-plugin 3.0.3
jacoco-maven-plugin 0.7.6.201602180812
maven-clean-plugin 3.0.0
maven-compiler-plugin 3.5.1
maven-javadoc-plugin 2.10.3
maven-pmd-plugin 3.6
maven-project-info-reports-plugin 2.9
maven-resources-plugin 2.7
maven-shade-plugin 2.4.3
maven-site-plugin 3.5.1
maven-source-plugin 3.0.0
maven-surefire-plugin 2.19.1
maven-surefire-report-plugin 2.19.1
tycho 0.25
tycho-extras 0.25
wagon-ssh 2.10

Change-Id: I4dc57de77ab7838964e8fe3de1d50f28d67fcf4b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-05-07 23:50:48 +02:00
Matthias Sohn e8705a6e27 Prepare Neon target platform
also use the Neon target platform as the default target platform.

Neon Eclipse platform requires BREE 8 so we have to use Java 8 at least
for the JGit packaging build (for the compiler settings we still stick
to source and target 1.7 since we want to still support Java 7)
otherwise unpacking platform pack200 archives will fail since they are
built using Java 8 and hence cannot be unpacked using Java 7's
unpack200.

Update org.junit from 4.11 to 4.11 and org.apache.ant from from 1.9.2 to
1.9.6 since the older versions are not available in Neon orbit version

Ignore a couple of tests in ResourceUtilTest which now fail [1] since
bug 476585 was fixed in Neon M6.

CQ: 10694
CQ: 11308
Change-Id: I1a99a3ac2148693e21c57df5aeb848035b52b97b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-05-02 22:46:51 +02:00
Mike Edgar 3b526f863a Fix Buck build broken by 4812fda.
Creates a source directory under org.eclipse.jgit.http.test
for the new support class.

Signed-off-by: Michael Edgar <adgar@google.com>
Change-Id: Ie49492c2bbe5c1db96ceb0dc06fa7cb9f927431a
2016-04-14 23:00:35 -04:00
Matthias Sohn ccf8363693 Prepare 4.4.0-SNAPSHOT builds
Change-Id: If3162f4cc4ae6319b9f1e3293549485b039cfe7f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-08 17:59:59 +02:00
Matthias Sohn f2ee537d55 Prepare 4.3.1-SNAPSHOT versions
Change-Id: I52c98ba8fb3a303269a1f9380af114b6dd8c5009
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-08 00:56:43 +02:00
Matthias Sohn 4f0daa3bb2 JGit v4.3.0.201604071810-r
Change-Id: I902cdf1ff92ce8c6e9d80c4965d8d5bd8b9ac6c1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-08 00:10:10 +02:00
Matthias Sohn 57e6274bcf JGit v4.3.0.201604071045-r
Change-Id: Iafab78d6be34d31a13f979b7be67611135c0f8bd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-07 16:41:24 +02:00
Matthias Sohn 46bef2bcb6 Prepare 4.3-SNAPSHOT builds
Change-Id: Ib831f8870938113bd5338763f90a07d5c108b1de
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-05 23:10:06 +02:00
Matthias Sohn bf32c9102f JGit v4.3.0.201603230630-rc1
Change-Id: I10835e5aa3618e5033424595942cc1649152cb24
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-03-23 11:27:04 +01:00
Matthias Sohn 3bae524f6f Support LFS protocol and a file system based LFS storage
Implement LfsProtocolServlet handling the "Git LFS v1 Batch API"
protocol [1]. Add a simple file system based LFS content store and the
debug-lfs-store command to simplify testing.

Introduce a LargeFileRepository interface to enable additional storage
implementation while reusing the same protocol implementation.

At the client side we have to configure the lfs.url, specify that
we use the batch API and we don't use authentication:

  [lfs]
	  url = http://host:port/lfs
	  batch = true
  [lfs "http://host:port/lfs"]
	  access = none

the git-lfs client appends the "objects/batch" to the lfs.url.

Hard code an Authorization header in the FileLfsRepository.getAction
because then git-lfs client will skip asking for credentials. It will
just forward the Authorization header from the response to the
download/upload request.

The FileLfsServlet supports file content storage for "Large File
Storage" (LFS) server as defined by the Github LFS API [2].

- upload and download of large files is probably network bound hence use
  an asynchronous servlet for good scalability
- simple object storage in file system with 2 level fan-out
- use LockFile to protect writing large objects against multiple
  concurrent uploads of the same object
- to prevent corrupt uploads the uploaded file is rejected if its hash
  doesn't match id given in URL

The debug-lfs-store command is used to run the LfsProtocolServlet and,
optionally, the FileLfsServlet which makes it easier to setup a
local test server.

[1]
https://github.com/github/git-lfs/blob/master/docs/api/http-v1-batch.md
[2] https://github.com/github/git-lfs/tree/master/docs/api

Bug: 472961
Change-Id: I7378da5575159d2195138d799704880c5c82d5f3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
2016-02-04 17:49:43 +01:00
Matthias Sohn 377616aca7 Add com.google.gson 2.2.4.v201311231704 to target platform
We will use gson to implement the LFS REST API.

CQ: 9966
Change-Id: I7feb6b2b8f7b736888370aad94e4c436ae6014bb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-02-04 17:49:42 +01:00
Matthias Sohn 536db18cc6 Implement SHA-256 abstraction
The Large File Storage extension specified by GitHub [1] uses SHA-256 to
compute the ID of large files stored by the extension. Hence implement a
SHA-256 abstraction similar to the SHA-1 abstraction used by JGit.

[1] https://git-lfs.github.com/

Bug: 470333
Change-Id: I3a95954543c8570d73929e55f4a884b55dbf1b7a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-02-04 17:49:42 +01:00
Matthias Sohn 27846d9e42 Compare API against 4.2.0
Change-Id: I08e2cf8f3fbb9e63f4a264daf8d9cc41dde55921
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-01-23 23:51:26 +01:00
Matthias Sohn b30917ce21 Prepare 4.3.0-SNAPSHOT builds
Change-Id: Idcf0479529693b023042becd96698f9afd344bd4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-01-21 21:49:41 +01:00
Matthias Sohn e78b092199 Silence Maven complaining about unset versions of reporting plugins
Since we use the reporting plugins only in the parent pom.xml there's no
point in using the new pluginManagement tag in the reporting section
which was introduced to fix
https://issues.apache.org/jira/browse/MSITE-443

Change-Id: I750ca3765e95afb06609a362fb3354afc3b66b90
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-10-18 23:23:03 +02:00
Matthias Sohn ccad3c7df6 Compare API against 4.1.0.201509280440-r
Change-Id: Ia04d09ca337c357004567a54a9fc01ea1e55e508
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-10-03 01:28:23 +02:00
Matthias Sohn 100179a101 Use japicmp instead of clirr to detect API changes
Clirr doesn't support Java 8 hence use japicmp instead.
See https://github.com/siom79/japicmp

Change-Id: If4b30a6d6aa849b4d6b3b0c900558c609822840c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-10-01 01:41:52 +02:00
Matthias Sohn 6664bc6f1c Prepare 4.2.0-SNAPSHOT builds
Change-Id: If559d3565b1f84c93a533e1ce18d5293605d1950
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-28 14:48:41 +02:00
Matthias Sohn 729f085ac2 Prepare 4.1.1-SNAPSHOT builds
Change-Id: I035f3a8d0f0de86e8b8f00e668be5ce008402e82
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-28 13:37:39 +02:00
Matthias Sohn fdfd6e2872 JGit v4.1.0.201509280440-r
Change-Id: I9a536870b9f5c1247c52d6c976a954115982fa1c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-28 10:36:08 +02:00
Matthias Sohn 8f489d8dd6 Merge branch 'stable-4.0'
Change-Id: I1b448ce01f4cdfa62611da9e4d37321a4af9c12d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-15 01:05:45 +02:00
Matthias Sohn 116d26d121 Prepare 4.0.3-SNAPSHOT builds
Change-Id: Ic5ab059bee460c76c6ff3e08141ce351a559691c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-14 23:38:48 +02:00
Matthias Sohn 264c782b77 JGit v4.0.2.201509141540-r
Change-Id: I766d95aa282c92dcbd2846145ee52e9cc62dd1f8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-14 21:41:35 +02:00
Matthias Sohn 510c865bad Update org.apache.httpcomponents
- update org.apache.httpcomponents.httpcore to 4.3.3
- update org.apache.httpcomponents.httpclient to 4.3.6, 4.3.5 and later
  are reported to fix vulnerability CVE-2014-3577

CQ: 9220
CQ: 9221
Bug: 470523
Change-Id: I024448c941e81f7c1dc1cc2394329df90e9b3048
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-09-04 01:02:45 +02:00
Matthias Sohn e78dd7df9d Update Jetty to 9.2.13.v20150730
Change-Id: I0c2a4cafcd1992431888c2a48592d9cb1ac04747
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-08-20 00:46:58 +02:00
Matthias Sohn 8bad6ef584 Update com.jcraft.jsch to 0.1.53
Update target platform to Orbit M20150818205559 for Mars in order to
update com.jcraft.jsch to 0.1.53. Also update pom.xml to use Mars target
platform profile by default.

CQ: 10045
Bug: 463580
Change-Id: I1bf151fbee7b00c7bd38cf1236c9bad50e3c64bd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-08-19 16:43:34 +02:00
Matthias Sohn 16ba9919db Update org.apache.httpcomponents
- update org.apache.httpcomponents.httpcore to 4.3.3
- update org.apache.httpcomponents.httpclient to 4.3.6, 4.3.5 and later
  are reported to fix vulnerability CVE-2014-3577

CQ: 9220
CQ: 9221
Bug: 470523
Change-Id: I39b80b250c6c1daede6a23e9f177fb2988ac37bb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-07-14 01:57:44 +02:00
Matthias Sohn 3c33d094a1 Compare API against 4.0.0.201506090130-r
Change-Id: I7cb7e89875b5238a54411b8c43c298d4cbe9f7ac
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-24 15:14:54 +02:00
Matthias Sohn 176c4b4d5e Prepare 4.0.2-SNAPSHOT builds
Change-Id: I645cacfdde21aa28aa2e17c10dec0576b170ed0e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-24 13:51:21 +02:00
Matthias Sohn 90f36e5002 JGit v4.0.1.201506240215-r
Change-Id: Ib7713b657e7812b0debd72bb4eece0daa187e80d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-24 08:17:29 +02:00
Matthias Sohn a89dbbd87e Merge branch 'stable-4.0'
* stable-4.0:
  Prepare 4.0.1-SNAPSHOT builds
  JGit v4.0.0.201506090130-r
  Update build to use Tycho 0.23

Change-Id: I732b601c198ad1a50aa7ba3c1d1fb516b10912b5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-09 17:17:18 +02:00
Matthias Sohn 2dd4dc149c Prepare 4.0.1-SNAPSHOT builds
Change-Id: I51d03d1a47d1e3cd453701e397750749867028a2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-09 15:17:22 +02:00
Matthias Sohn 4f22185455 JGit v4.0.0.201506090130-r
Change-Id: I01ad84fc74555656c42934cd62a85269a7030557
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-09 07:29:27 +02:00
Matthias Sohn d8040f3406 Update build to use Tycho 0.23
see https://wiki.eclipse.org/Tycho/Release_Notes/0.23

Change-Id: I70e6711294e2a92efa77fd9dd1c906c449c9b4db
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-08 12:59:28 +02:00
Matthias Sohn a79168bcbb Prepare 4.1.0-SNAPSHOT builds
Change-Id: I03d08b8e2d3400d4b5cdb4ab541b312870776843
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-03 00:52:00 +02:00
Matthias Sohn 72ecb5c8c7 Prepare post 4.0-RC3 builds
Change-Id: I74469f1243503098fb05b5ddec3fa609132debab
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-02 23:11:57 +02:00
Matthias Sohn d59fafc7ca JGit v4.0.0.201506020755-rc3
Change-Id: I31c6177d19cba228aa67b2b5c3e0d82c38395cda
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-02 13:55:16 +02:00
Matthias Sohn 1e7262ae17 Add more reports to maven site
Add the following additional reports:
- cross-reference report
- API changes report using clirr
- findbugs report
- surefire-report

Run
$ mvn test install site:site site:stage
to generate and stage the site

Also see
https://wiki.eclipse.org/EGit/Contributor_Guide#JGit_3

Change-Id: Ibb6a2e13e128d7728b3c632cc16bf79716dc75f5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-01 22:49:02 +02:00
Matthias Sohn 6fc5af47d1 Update project meta-data in pom.xml used for site generation
- Update list of committers
- Update scm information
- Expose jgit hudson for Maven site
- Name our project's organization
- Scm URL should point to a web-enabled view on the repository
- Extract tycho-extras version used during signing to a property

Change-Id: If32bed323ec283b5e83d28ffe8775220f7c4cecd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-01 16:07:53 +02:00
Matthias Sohn ce8baa3715 Update dependencies to the versions used in target platform
- update com.jcraft.jsch to 0.1.51
- update javax.servlet to 3.1.0

Change-Id: Ie536182d1efc6dcc3abd03f8a9acd013adcbf2a8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-01 16:07:52 +02:00
Matthias Sohn c5f7ab3482 Compare API changes in clirr report against 3.7.0
Change-Id: Id819fd700ed44cdc3cdbe33a4bb9ee52a6fbbd41
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2015-06-01 11:12:06 +02:00