83 Commits

Author SHA1 Message Date
David Pursehouse
3730a388c8 Upgrade JGit to 4.11.0.201803080745-r.2-g61e4f1665
This is a snapshot build from jgit's stable-4.11 branch, and contains a
fixed version of ObjectIdSerializer [1] that supports serialization of
known non-null values.

[1] https://git.eclipse.org/r/#/c/119456/

Change-Id: I758be8a38e2aece932e145faf5e71867aa28713c
2018-03-15 13:08:38 +09:00
Matthias Sohn
cde54335ec Update JGit to 4.11.0.201803080745-r
Change-Id: I9964a28119c90554e4693a6dfd77e218df94ccea
2018-03-14 09:46:22 +09:00
David Pursehouse
122fd1fd3f Upgrade JGit to 4.10.0.201712302008-r.24-gf3bb0e268
This is a snapshot built from the latest head of JGit's master
branch.

Also upgrade commons-compress to 1.15 and its dependency tukaani-xz
to 1.6 to align with the versions used in JGit since [1].

[1] https://git.eclipse.org/r/#/c/115360/

Change-Id: I0741572b029e565e61e7f85171bfc0d057c0b1cc
2018-01-26 00:50:58 +00:00
David Pursehouse
5230d10c57 Fix definitiion of _DOC_VERS in jgit.bzl
_JGIT_VERS should not be enclosed in quotes. This causes it to be
literally included in the doc URL, resulting in a javadoc error
when building the API:

  javadoc: warning - Error fetching URL: http://download.eclipse.org/jgit/site/_JGIT_VERS/apidocs/

Change-Id: Ifce43c48755a5687d5b2807de4dcfb5d14566056
2018-01-24 14:39:29 +09:00
Matthias Sohn
d91788def1 Update JGit to 4.10.0.201712302008-r
Change-Id: Idb7a98e1d5f12d636e2dbc1f75021f65f262d844
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2017-12-31 22:51:33 +01:00
Dave Borowitz
7f92f93aa2 Update JGit to 4.9.2.201712150930-r.175-gd8a24ac1c
This is a custom build from master, including a merge of all the changes
I recently made to (JGit) stable-4.9. In particular, this change is
necessary so I0092f009 will compile when it is merged from (Gerrit)
stable-2.15 into master.

Change-Id: I3cf28f16cfdc72beea2938987be8130b97765591
2017-12-21 11:35:25 -05:00
David Pursehouse
17112ee967 Upgrade JGit to 4.9.2.201712150930-r.171-gfdbaa25db
This is a snapshot built from the head of jgit's master branch, and
includes all changes from the stable-4.9 branch including those that
were submitted after the 4.9.2.201712150930-r release.

Change-Id: Ie8bca213394ee24bc4e15e50488b083e31632952
2017-12-21 08:53:19 +09:00
David Pursehouse
f3bea14443 Upgrade JGit to 4.9.1.201712030800-r.66-gf8eff40ca
This is a snapshot built from the latest head of jgit's master
branch, after the 4.9.1 release was tagged and merged in.

Change-Id: Id27986637e5959190815141c8b8ab0fd8848e37a
2017-12-05 11:10:29 +09:00
Dave Borowitz
9eb5c4eed9 Update JGit to 4.9.0.201710071750-r.65-g8b3ab4343
Includes a fix to round-tripping Config values with leading/trailing
whitespace.

Change-Id: I43bd6cbf37ea057b1c7eae13f48654497f36b4b8
2017-11-21 09:25:32 -05:00
Dave Borowitz
7ea0eda1da Update JGit to 4.9.0.201710071750-r.30-g651e17bac
Same upstream changes as in Ifa305e7, but based on JGit master instead
of stable.

Change-Id: Icb9e65fa672850109969356a87d994002486a0b8
2017-11-02 08:21:25 -04:00
Matthias Sohn
0426e1ee63 Update JGit to 4.9.0.201710071750-r
Change-Id: I5d74d5487a0c67dbd6380cea6aab166af5fff8bf
2017-10-09 09:00:11 +02:00
David Pursehouse
3ea66829ea Set JGit javadoc version to released version
The _DOC_VERS variable should not be set to the same as _JGIT_VERS
when the latter is referencing a snapshot version. In this case the
generated Javadoc URL does not exist, causing a warning during the
api build, for example:

  javadoc: warning - Error fetching URL: http://download.eclipse.org/jgit/site/4.8.0.201706111038-r.71-g45da0fc6f/apidocs/

Change-Id: I147b736316852a0a7d8b7ca3bc25f2c6f2bc2969
2017-09-15 23:42:18 +00:00
Dave Borowitz
a6985bcfa8 Upgrade JGit to support improved BatchRefUpdates
Now with atomic support for traditional on-disk repos, and finer-grained
control over reflogs.

RefUpdate.Result also grew some new error values, so extend existing
switch statements to cover them.

Change-Id: If685ed7f34d965e82cf11fcf59dd832394f2bb4a
2017-07-28 12:47:26 -04:00
Matthias Sohn
5a415585ec Update JGit to 4.8.0.201706111038-r
Test fix was cherry-picked from fe494ed59ea1fb6258a13daf5c2bc250e56afde4
which was submitted on stable-2.14 when JGit was updated to
4.7.1.201706071930-r.

Change-Id: I16395936628d6f04668cc0adf9bd3eb6c7080394
2017-06-16 14:41:45 +02:00
Matthias Sohn
8006d21b24 Update JGit to 4.8.0.201705170830-rc1
Change-Id: I005421e8f06e59186a59a29649f878c3f845a218
2017-05-21 06:00:11 +00:00
Dave Borowitz
c204fa11b3 Update JGit to 4.7.0.201704051617-r.37-gc80d8c590
Change-Id: Ic77a2c7bb9bc63dd7358460fe978417a61210770
2017-04-13 10:34:00 -04:00
David Pursehouse
8d2b2bb95c Upgrade JGit to 4.7.0.201704051617-r.15-gc4e952109
Change-Id: I8b06fbc23593cff99f8b8cef9992a935cbbe90ee
2017-04-06 11:20:21 +09:00
David Pursehouse
fa8988fc8e Upgrade JGit to 4.6.1.201703071140-r.169-g61e336475
This is a snapshot of the latest head of JGit's master branch.

Jetty was changed to version 9.3.17.v20170317.  This version change
will be done for Gerrit in a follow-up commit.

Change-Id: I19ca866f90b16260f72fdd9cdc97683031b48488
2017-04-03 16:07:58 +09:00
David Pursehouse
a01b395773 Upgrade JGit to 4.6.1.201703071140-r.149-g61f830d3a
This snapshot includes numerous changes since the previous one.

There is currently nothing that we specifically need in this snapshot,
but it brings us closer to what will be in the upcoming 4.7.0 release
and will allow us to potentially catch any issues before release.

Change-Id: I4c3642eab4c1f1128e2e19cf656dee13270662e2
2017-03-24 09:06:23 +09:00
Han-Wen Nienhuys
fe81f93215 Simplify local JGit development
Put all the logic in jgit.bzl, where a single edit suffices to get
the local flavor.

Given that all sha1 for jgit dependencies are in jgit.bzl, we can
remove the constants and use sha1 values directly.

Change-Id: Icabf651e02f226e5c025457d54588074a11ae283
2017-03-24 08:36:18 +09:00
David Ostrovsky
e51b745efa Bazel: Allow to consume jgit from development tree
Now that Bazel build for JGit is fully implemented, we can document
the process of routing the JGit dependency to the development tree
instead of consuming it from Central or ~/.m2 local repository:

1. Activate local jgit repository in WORKSPACE file:

  local_repository(
      name = "jgit",
      path = "/home/<user>/projects/jgit",
  )

2. Uncomment alias to jgit repository in lib/jgit/**/BUILD files.
It shouldn't be needed and is tracked under this issue upstream: [1]:

  alias(
      name = "jgit-alias",
      actual = select({
          "@//lib:jgit-dev": "@jgit//org.eclipse.jgit:jgit",
          "//conditions:default": "@jgit_lib//jar",
      }),
      visibility = ["//visibility:public"],
  )

Test plan:

Update local JGit tree, run tests and verify that local JGit tree
modifications are relfected in gerrit build:

  $ bazel build --define jgit-dev=1 headless

To consume JGit from Central, do not pass jgit-dev=1:

  $ bazel test ...

[1] https://github.com/bazelbuild/bazel/issues/2707
Change-Id: I1b0fee7df802f6cbd54acbb0bc73157e2b8bc7cf
2017-03-22 22:27:12 +01:00
David Pursehouse
f32625ac90 Move all JGit related definitions to lib/jgit/jgit.bzl
Move the definitions of the JGit repository and the artifact hashes into
the lib/jgit/jgit.bzl file so that when we change the JGit version we can
make all the necessary modifications in one place.

Change-Id: I4cb97481d62a57bfca960392d696aae3c95c6bb7
2017-03-09 18:10:46 +09:00
David Ostrovsky
fdbfcad77d Remove Buck based build
Bug: Issue 5302
Change-Id: I6e860446ef30ff0ad1c7c49fc0e39d39d921820b
2017-01-23 12:44:58 +00:00
David Pursehouse
074cf23832 Upgrade JGit to 4.6.0.201612231935-r.30-gd3148f300
This snapshot includes several fixes since the release, including some
improvements in LFS support:

  d3148f300 Make ObjectDownloadListener public
  55c629a9f LfsProtocolServlet#LfsRequest: Add operation type helper methods
  56fe21778 Expose LFS operation strings as public constants
  590141163 LfsProtocolServlet: Improve error on getLargeFileRepository failure
  7245aa031 Add support for refusing LFS request due to invalid authorization
  0e187f148 Add LfsPointerFilter TreeFilter

Change-Id: Ib3cd9d8677b6c6017becc5c46e7fa4dfc5192807
2017-01-19 23:45:46 +00:00
Matthias Sohn
e1d12494d9 Update JGit to 4.6.0.201612231935-r
Change-Id: Ibd58603e6c1975c883dbf9f1d115e03a25467774
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: David Pursehouse <dpursehouse@collab.net>
2016-12-29 21:21:37 +00:00
David Pursehouse
2d08500516 Format .bzl files with Bazel Buildifier
Change-Id: I3ab30565e5ac110a18cbe3d34f76307801c30373
2016-12-11 19:00:21 +09:00
David Ostrovsky
fa18907d7f Bazel: Reformat build files
Reformat the Bazel build files with the buildifier tool [1].

The style is different for Bazel files. Most notably, indentation level
is 4 spaces instead of 2, and " is used instead of '.

[1] https://github.com/bazelbuild/buildifier

Change-Id: I95c0c6f11b6d76572797853b4ebb5cee5ebd3c98
2016-12-07 11:33:07 +00:00
David Pursehouse
1a03ecf787 Upgrade JavaEWAH to 1.1.6 to match version used in JGit
JavaEWAH was upgraded in JGit in [1], which is included in the snapshot
build of JGit being used in Gerrit since change Ic7c646b32.

Upgrade to use the same version.

[1] https://git.eclipse.org/r/#/c/77604/

Change-Id: I5de4cdbdf816296d97640bb83130544ec85685af
2016-12-05 22:28:15 +09:00
Shawn Pearce
b3fdbcf78d Update JGit to 4.5.0.201609210915-r.115-g81f9c1843
Adds support for MonotonicClock, which Gerrit can use
inside of ReviewDb and NoteDb to maintain timestamps.

Change-Id: Ic7c646b32644c1d1b1e93eeb50a3bf153e85d3c3
2016-11-21 14:10:02 -08:00
David Ostrovsky
899edce177 Bazel: Unsign the JGit jars
Now that we use download_file.py anyway, move the unsign part to it.

Change-Id: I139fae87bbe263ac42e75d4706fa28059a53e326
2016-11-15 15:12:11 +00:00
Shawn Pearce
933306d823 Update JGit to 4.5.0.201609210915-r.104-g1c70dd6d2
Includes {get,set}GitwebDescription on Repository,
which can replace methods in GitRepositoryManager.

Change-Id: Ie25a49864c770e1cfb065dfc9e7c1e8faa97b03c
2016-11-14 12:33:32 -08:00
David Ostrovsky
0fc4f7a900 Rename ewah dependency to javaewah
This is a preparation change to support building JGit from development
tree.

Change-Id: I581a1632aad93eaf820fc2c608ea37d29286f392
2016-11-06 18:29:06 +01:00
David Pursehouse
0a93ba1442 Bazel: Add dummy BUILD file in lib/jgit
Fixes the error:

  Unable to load package for '//lib/jgit:jgit.bzl':
  BUILD file not found on package path.

Change-Id: Ic3506f8777fc1875f00e295bd1775c774b56ef19
2016-10-26 09:37:22 +09:00
David Ostrovsky
27fbb2b835 Bazel: Externalize JGIT_VERS constant
This is needed for defining external documentation link for javadoc
rule.

Change-Id: I562de840327c6b27941f7238023a47eb8d0b2394
2016-10-25 12:27:13 +00:00
Yuxuan 'fishy' Wang
75b98f77d9 bazel: add license to appropriate lib/ targets
This is to prepare for implementing genlicenses rule in bazel.

Change-Id: I60d79d5b53f9dd05c9f9ebfe6e6f658604c5a037
2016-09-26 16:42:38 +08:00
Han-Wen Nienhuys
2604257c29 Bazel: add support for unsigning jar files
One test is still failing:

  HttpPushForReviewIT#pushForMasterWithTopicOption()

Change-Id: I257f443557a998f0c2190bd07f01547368aeb1e1
2016-09-23 15:26:03 +02:00
David Pursehouse
95848260a1 Upgrade JGit to version 4.5.0.201609210915-r
Change-Id: I913be3f8543e255db8a5db9c861ac0ff4e308cba
2016-09-21 16:24:37 +02:00
Hugo Arès
f6fd4558fc Upgrade JGit to 4.4.1.201607150455-r.148-gabeaafc
This snapshot includes the following changes since the previous:

abeaafc Don't log error if system git config does not exist
c711361 Add missing dependency to slf4j-log4j bridge
a4508f9 Rename FSJava7Test to FSTest
5a4dcce Improve JavaDoc for LfsProtocolServlet.getLargeFileRepository

The plan is to release Gerrit 2.13 with JGit 4.5 so this upgrade is to
release 2.13-rc1 with a JGit version that is closer to what will be JGit
4.5.

Change-Id: I75cf16a19abc5401f75be64efe72aa6013bd53b9
2016-09-12 10:36:11 -04:00
David Pursehouse
527fc388dd Upgrade JGit to 4.4.1.201607150455-r.144-gb67df51
This snapshot includes the following changes since the previous:

b67df51 CLI: implement option -d for deleting tags
34673f0 Added a clean command.
d52bf2e Add specific exception for LFS unavailable
ac85672 Add Javadoc for LFS exception messages
3100662 ReceivePack: integrate push option parsing into recvCommands
2fd4559 ReceivePack: simplify getPushOptions
8e00a31 ReceivePack: allow push options to be set

Change-Id: I266d9663e32bd854a55c14ef8f7c2b427bf2c842
2016-08-31 11:49:24 +09:00
David Ostrovsky
8ffeb7f208 Fix SHA1 for JGit 4.4.1.201607150455-r.137-gdd2a5a7 update
Change-Id: I97ac8b312ad078ba83e5dd2193327f2d2b7dcd30
2016-08-30 16:55:34 +09:00
Jonathan Nieder
379e888628 Update JGit to 4.4.1.201607150455-r.137-gdd2a5a7
This snapshot includes the following commits since the previous:

dd2a5a7 Make GC.RepoStatistics static
c2e2326 ReceivePack: refactor push option parsing
36cf4fe Fix push option initalization on HTTP
9ae7d49 DfsReader: check object type during open
1227165 Clarify the semantics of DfsRefDatabase#compareAndPut
649ad06 NoteMapTest: Add missing @Test annotations
2d4d644 Add a RepeatRule to help repeating flaky tests
3e27fb3 Do not fake a SymbolicRef as an ObjectIdRef
ffbe03a LfsProtocolServlet: Add support for insufficient storage error
9974f30 Packet logging for JGit
609de52 push: Do not use push options unless requested
20d3f83 Fix HttpClientConnection leaking temporary buffer files
edd8ad4 Use FS#lastModified instead of File#lastModified
da9eef8 Don't check lastModified, length on folders for submodules
b8260b5 Added Java 7 launch config with LANG env. variable set
c4e209b Add HTTP status code to ServiceMayNotContinueException

Change-Id: Ieb219e82899ec606f4ef90317883c09bb8a0133d
2016-08-27 01:23:22 +00:00
David Pursehouse
66da12cc66 Upgrade JGit to 4.4.1.201607150455-r.118-g1096652
This snapshot includes the following commits since the previous:

1096652 LfsProtocolServlet: Add support for rate limit and bandwidth limit errors
de89b7d LfsProtocolServlet: Always include message in error response
0a86b03 LfsRepository{NotFound,ReadOnly}: Externalize message strings
2fc1ceb DownloadTest: Use enums from org.apache.http.HttpStatus
108bee1 Ignore IOException thrown from close
f15e9c0 DfsObjDatabase: clear PackList dirty bit if no new packs
13f0db2 Enhance ResetCommand to allow disabling reflog update

Change-Id: I6590a62f3e1d839a8d36a4b933771d195cbe7650
2016-08-21 14:05:15 +09:00
David Pursehouse
548a04e0c1 Upgrade JGit to 4.4.1.201607150455-r.109-g0b4751e
This snapshot inludes the following fixes since the previous:

- LfsProtocolServlet: Always set the Content-Type header on response
- LfsProtocolServlet: Don't set pretty printing on Gson
- BaseReceivePack: null and IllegalStateException cases for getPushOptions

Change-Id: I7115335bf342df11fd6376d887d13f8e7aa7d91f
2016-08-17 10:34:19 +09:00
David Pursehouse
944917c23f Upgrade JGit to 4.4.1.201607150455-r.105-g81ba2be
This snapshot includes the following changes in LfsProtocolServlet
that are needed by the LFS plugin:

- Allow getLargeFileRepository to raise exceptions
- Allow access to objects in request
- Reuse existing Writer when sending error response

Change-Id: Ic1bba1d7387b1f5a9d6121e750208a9d2a1dae2f
2016-08-10 11:52:29 +09:00
David Pursehouse
cfb51c2cac Upgrade JGit to 4.4.1.201607150455-r.74-gd6fe52e
This snapshot includes the following improvements related to LFS:

- Include error message in response body
- Pass request and path to getLargeFileRepository
- Return HTTP 422 instead of 400

and the following other changes that are needed in Gerrit:

- RefSpec: allow construction of weird wildcarded RefSpecs
- RefSpec: reject refs ending in '/'
- BatchRefUpdate: Include command message in toString()
- DiffFormatter: Support setting a reader without a repo

Change-Id: I42eb72603c47e05cf39079164653defa96cf37c4
2016-08-04 05:14:39 +00:00
David Pursehouse
c7df2fe330 Upgrade JGit to version v4.4.1.201607150455-r
Change-Id: Ic0f0741f9bed06815c2681943b461ce1a71c363b
2016-07-20 17:31:01 +09:00
David Ostrovsky
b81b4f75ae Implement Bazel build
To run the tests:

  bazel test //...

To build the Gerrit plugin API, run:

  bazel build gerrit-plugin-api:plugin-api_deploy.jar

To build the Gerrit extension API, run:

  bazel build gerrit-extension-api:extension-api_deploy.jar

TODOs:

Licenses
Reduce visibility (all public for now)
Generate HTML Documentation
Core plugins
gerrit_plugin() rule to build plugins in tree and standalone modes
GWT UI (only gwt_module() skylark rule is provided, no gwt_binary())
PolyGerrit UI
WAR
Publish artifacts to Maven Central
Ask Bazel team to add Gerrit to their CI on ci.bazel.io

Contributed-By: Han-Wen Nienhuys <hanwen@google.com>
Change-Id: I9a86e670882a44a5c966579cdeb8ed79b1590de3
2016-06-14 21:12:02 +02:00
Dave Borowitz
2ae2dcec53 Update JGit to 4.3.0.201604071810-r.23-gc9b0028
Change-Id: I9df04e3ddf840481a3796fccb4f4d845e538b0a8
2016-05-03 19:56:26 -04:00
David Ostrovsky
08ea694499 Buck: Remove jgit cell
Cross cell support in Buck is considered as experimental feature, with
number of open issues: [1], [2], [3].  Moreover, to make Maven Central
machinery work, it was needed to create symbolic links in source tree.
That broke `buck targets` feature.

Remove it for now, and re-consider to add it later.

[1] https://github.com/facebook/buck/issues/656
[2] https://github.com/facebook/buck/issues/658
[3] https://github.com/facebook/buck/issues/717

Bug: Issue 3954
Change-Id: Ic621a07771f926001df181b46b2169e214ce208a
2016-04-20 22:02:49 +02:00
Matthias Sohn
fc54a60dd6 Upgrade JGit to 4.3.0.201604071810-r
this version brings the following fixes

- Fix jgit gc which retained garbage packs for 2 weeks which resulted
in repo size explosion [1] by introducing a new option for pack expiration
which by default expires packs after 1 hour

- Fix refcounting and reclaiming memory in RepositoryCache. Hugo
validated that this reduces memory consumption in Gerrit considerably

- Make the FileLfsRepository thread safe. This fixes a severe threading
issue for the lfs-storage-fs plugin [2]

[1] https://groups.google.com/forum/#!searchin/repo-discuss/gc/repo-discuss/JW06GsH0vLo/9GV4TL0VDgAJ
[2] https://git.eclipse.org/r/#/c/52177/16/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/FileLfsServlet.java

Change-Id: If6ba90c5e79747d20338ad32f03624a6bd75ee43
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-04-08 16:17:14 +02:00