Bump JGit to c0b415fb0

Adds a new feature enabled by the new core.trustLooseRefStat config key
which can be set to `after_open` in order to invalidate NFS attribute
caching before trusting the dir/file attributes of loose refs and their
parent directories. This has the benefit of fixing some multi-primary
race conditions at the downside of some performance impacts.

Additionally using the SnapshottingRefDirectory via Gerrit's
usePerRequestRefCache will limit the NFS invalidation done during a
single request and mitigates all the major performance impacts of the
`after_open` setting (some minor performance impacts are still expected).

In order to update to this JGit version we also need to bump the Bazel
version to 6.3.2 (originally done in change I993fb2b36) in order to get
the ijar fix necessary to update to the newer libraries (originally done
in changes I62c90995 and I0ad4adce) needed by this JGit version.

This also includes some other minor JGit fixes.

$ git log --oneline --no-merges acf21c0bc...c0b415fb0
81d64c913 Cache refreshed loose ref dirs in SnapshottingRefDirectory
72fa0a53e TreeRevFilter: correct changedPathFilter usage for multi-paths inclusion
9e841dd4a PathFilterGroup: implement getPathsBestEffort()
e5a17df8f CleanupService: preload JgitText if not running in OSGi
c1eba8abe DfsPackFile: get commitGraph.readChangePaths from repo config
631cbf59f CommitGraphLoader: receive readChangedPaths as parameter
900c5e62b Add pull request template discouraging usage of pull requests
dc4fa3906 Update CONTRIBUTING.md to point to GitHub issues
328008aa2 FS_POSIX.runInShell(): on MacOS use a login shell
da7a88bce [ssh] Implement the "Ciphers" SSH config
bf7dd9add ShutdownHook: run on bundle deactivation if in OSGi
819c5bcc8 [diffmergetool] Fix running command on Cygwin
24307bd38 [releng] Bump japicmp base version to 6.9.0.202403050737-r
fe681b34f DfsBlockCache: move cache table specific implementations to a new class
07d7452b3 Prepare 6.10.0-SNAPSHOT builds
e61c20b1e Prepare 6.9.1-SNAPSHOT builds
d764bc34f JGit v6.9.0.202403050737-r
058faa28f JGit v6.9.0.202403050045-r
d69a6c5de Prepare 6.9.0-SNAPSHOT builds
21f7fdff7 Introduce core.trustLooseRefStat config
407ccef1c JGit v6.9.0.202402281855-rc1
64911e211 Update SECURITY.md
5c94dcc56 DfsObjDatabase: Let object database instantiate DfsPackFiles
049749558 DfsPackFile: Abstract the bitmap loading to support other backends
d132050c2 Remove unused API problem filters
a44b9e8bf Support public key in IdentityFile
f11d1365f Revert "StartGenerator: Fix parent rewrite with non-default RevFilter"
55f3a9586 Prepare 6.9.0-SNAPSHOT builds
36dd4dd9b JGit v6.9.0.202402211805-m3
89bf38087 Delete org.eclipse.jgit.ssh.apache.agent/bin/.project
3e624306d Allow to discover bitmap on disk created after the packfile
e4b95ee56 DfsReader#getObjectSize: use size index if possible
3d4a4bd93 Update jetty to 10.0.20
90674ab15 Update maven plugins
37f64ceea Update org.assertj:assertj-core to 3.25.3
b219040cd Update org.mockito:mockito-core to 5.10.0
1fd8b0f7d Update org.apache.commons:commons-compress to 1.26.0
1f9feb613 Update byte-buddy to 1.14.12
f4f992cdc Add SystemReader.Delegate to reduce boiler-plate code needed to subclass
426d67848 storage.file: Do not throw NSFE when deleting tmp files
67142cacb FS.detectSymlinkSupport: fix a race
99333e75b [errorprone] Fix wrong comparison which always evaluated to false
af5d4d37a [errorprone] Remove unnecessary comparison
617f89131 Errorprone EscapedEntity: Do not use HTML entities inside @code javadoc
e5fd2409c ChangedPathFilter: Suppress warning about backing array (errorprone)
15363e4c3 PackWriterBitmapPreparer: Do not generate bitmaps for excessive branch tips.
e6d83d61e Don't use localized String during JVM shutdown
5afb92aad RawParseUtils.nextLfSkippingSplitLines: fulfil contract as stated
5eff1dd4c [gpg] Refactor the GpgSignatureVerifier
b079968cd RawParseUtils: utility method to get a header value
906c2bebe RebaseCommand: fix stopping on root commit conflicts
c701c01b4 Improve handling of NFS stale handle errors
e0910eda3 Fix handling of missing pack index file
c64664925 CherryPick: add ability to customise cherry-picked commit message
74471b8d7 RawParseUtils: Add missing @since tag for new API method
f94619d49 Silence API warning for new constant
18d0924a4 [ssh] Bump Apache MINA sshd 2.11.0 -> 2.12.0
ba5adc4ce Add tests for handling pack files removal during fetch
ee4443091 PackWriterBitmapPreparer: Set limit on excessive branch count
81f1c0209 Update jna to 5.14.0
307885377 DfsInserter/PackParser: keep min size for index in the inserter
8116f66b9 FooterLines: handle extraction from messages without headers
331fa023e Remove invalid/unnecessary Maven settings
b1cc74b75 Update maven plugins
2199b74ce Update org.eclipse.dash:license-tool-plugin to 1.1.0
ff20da9b8 Enable using slf4j 2.x
80a2b067f Update Tycho to 4.0.4
b450ff180 Update mockito to 5.8.0
3cefca094 Add 4.31 target platform and update orbit to 4.31
a00afad54 Update ecj to 3.36.0
d1189a1cd Renormalize line endings based on .gitattributes
eb0dd3a4e Configure .gitattributes to manage line endings
40e97af2d Normalize line endings to LF for all text files
788487316 BasePackFetchConnection: Skip object/ref lookups if local repo is empty
faa50c683 LooseObjects: Use File#exists when possible
1ab2c73b4 Remove invalid spotbugs configuration
5553f3b30 Fix PMD plugin configuration
b2abab271 DfsReader: give subclasses visiblity over the pack bitmap index
e25bf9573 PackBitmapIndex/StoredBitmap: Expose size and counts
52c18ae15 PackWriter/Statistics: Remove the bitmapt hit stats
a2fed4293 Configure Github issue reporting
ab132937f FooterLine: Protect from ill-formed message
4592603b9 API filter for PackStatistics.objectsWithBitmapsFound
db5ce6b5c StartGenerator: Fix parent rewrite with non-default RevFilter
6a5bde568 Update MANIFEST.MF
b05894436 Document option gc.writeCommitGraph
6cdd04aa4 Bump last release version to 6.8.0.202311291450-r
b54592c8e Prepare 6.9.0-SNAPSHOT builds
8ea5409ec BitmapWalkerTest: New test for the walker
5e563e1ba PackWriter: store the objects with bitmaps in the statistics
555224258 FooterLine: First line cannot be a footer
acf97be2d Reapply "Improve footer parsing to allow multiline footers."
e99fb6edc Revert "Improve footer parsing to allow multiline footers."
796fb2e5c Prepare 6.8.1-SNAPSHOT builds
c43560487 JGit v6.8.0.202311291450-r
6514a46a3 Rename method parameter to fix warning about hidden field
29ad7d56e Fix warnings about empty control flow statements
e4abd0123 BitmapIndexImpl: externalize error message
232813bfc Suppress not-externalized string warnings
ff0ec5c61 Silence API error for new method BitmapIndex#addBitmapLookupListener
5a717a705 Update Orbit to orbit-aggregation/2023-12
ef901e9ae Adapt to type parameter added in commons-compress 1.25.0
340cc787a Improve footer parsing to allow multiline footers.
2a739ad2c Make the tests buildable by bazel test
9a05ca42b Prepare 6.8.0-SNAPSHOT builds
7bc697dfd JGit v6.8.0.202311212206-rc1
aab75dba7 BitmapIndex: Add interface to track bitmaps found (or not)
c0d15c2ab BitmapWalker: Remove BitmapWalkListener
cd8322091 Update repository URLs in CONTRIBUTING.md
823b6a45f Fix typo in FileUtils.isStaleFileHandle() javadoc
e4a341db4 Fix branch ref exist check
52af8dbaf gpg.bc: Supress errorprone InsecureCryptoUsage
5c173c632 Adjust javadoc to pass errorprone checks
705e3d686 Update org.apache.commons:commons-compress to 1.25.0
2986d39ae Fix annotation of deprecated constant CONFIG_KEY_STREAM_FILE_TRESHOLD
e612c2522 BitmapWalkListener: Use plain interface with noop instance
4d82d0aa1 BitmapWalkListener: Add method and rename for commits
8af2f785e Update bouncycastle to 1.77
754a1b492 PatchApplier: wrap output's TemporaryBuffer with a CountingOutputStream
d3f711ca1 BitmapWalker: announce walked objects via listener interface
d9568eda9 Prepare 6.8.0-SNAPSHOT builds
8db605620 Update jetty to 10.0.18
ac0a99597 SSH: bump org.apache.sshd to 2.11.0
375710194 JGit v6.8.0.202311151710-m2
91c914622 Fix typo in constant name CONFIG_KEY_STREAM_FILE_TRESHOLD
4aaf8cad9 Simplify StringUtils#commonPrefix
4f18c5095 Optimize RefDirectory.getRefsByPrefix(String...)
fcea1fe49 CommitGraphWriter: Remove unnecesary progress update call
b761a0fc3 Use try-with-resource to ensure UploadPack is closed
32f7db784 Fix hiding field warning
15c6947fd Fix warning for empty code blocks
3652dd437 Fix boxing warnings
3ca786d76 errorprone: remove unnecessary parentheses
50d670133 Update mockito to 5.7.0 and bytebuddy to 1.14.9
6007371e3 Enable Maven reproducible builds
97afcb050 Upgrade bazlets to the latest revision
7ac2d2573 Revert "Optimise Git protocol v2 `ref-prefix` scanning"
38344badf Document GIT_TRACE_PERFORMANCE to show timings
8e9eab799 config-options.md: fix sort order
ac70632f5 ComboBitset: Add Javadoc
593fbf7c3 CommitGraphWriter: Add progress monitor to bloom filter computation
5207bf070 CommitGraphWriter: Use ProgressMonitor from the OutputStream
c46b54eea CommitGraphWriter: Unnest generation-number progress
3937300f3 Optimise Git protocol v2 `ref-prefix` scanning
1c320d0d4 UploadPackTest: Cover using wanted-refs as advertised set
5f563e386 UploadPack: use want-refs as advertised set in fetch v2
093bde518 BasePackFetchConnection: Avoid full clone with useNegotiationTip
7b2005d52 .gitignore: ignore all Maven output directories `target/`
26d6c325d benchmarks: use org.eclipse.jgit-parent as parent pom
8ca649c16 Generate SBOMs using cyclonedx maven plugin
f91afe5f5 DfsPackFile: Do not attempt to read stream if pack doesn't have it
9323b430b PackObjectSizeIndexLoader: Log wrong bytes on exception
c89f7b874 Silence API warnings for API added in 5.13.3
0f078da4e FileBasedConfig: in-process synchronization for load() and save()
f6774fa8e FileUtils.rename(): better retry handling
cb46ee354 FileBasedConfig: ensure correct snapshot if no file
621685d3c DeleteBranchCommand: update config only at the end
ecf94d159 Config.removeSection() telling whether it changed the config
f93ccb7fd RebaseCommand: return correct status on stash apply conflicts
0b5d4c3aa Use net.i2p.crypto.eddsa 0.3.0 from new Orbit build
5705e2af1 [errorprone] Fix InconsistentCapitalization
5138b97b6 TestRepository: Add getInstant method
790fa7e81 Update orbit to orbit-aggregation/2023-12
e0acf2579 Prepare 6.8.0-SNAPSHOT builds
e5a79343c JGit v6.8.0.202310031045-m1
42917767f UploadPack: Delay freeing refs in sendPack()
39707c673 ByteBufferInputStream: add missing @since 6.8
0ca7438f1 Fix log level for successful execution of ShutdownHook#notify to debug
cf9d05485 Eclipse features: update copyright year
2ab7c3ebe SSH agent: correct plug-in title
b6b1e0a0a Fix DefaultCharset bug pattern flagged by error prone
6672bacca Activate additional error prone checks
a2bce029a WorkingTreeIterator: directly filter input stream
84ced89dc [errorprone] Add missing javadoc summary
d56ae55c8 [errorprone] Fix BadImport
a7edc7889 [errorprone] Prevent int expression may overflow
4cfe27dd0 [errorprone] Suppress ByteBufferBackingArray
ac3794bf0 [errorprone] Suppress JavaLangClash to avoid breaking change
049782743 [errorprone] Fix EqualsGetClass
8c42901b5 [errorprone] MockSystemReader: fix CatchAndPrintStackTrace
34fb4d487 [errorprone] MetaFilter: fix IdentityHashMapUsage
7b79feb07 [errorprone] InternalFetchConnection: Suppress CatchAndPrintStackTrace
f8d91c273 [errorprone] Don't swallow exception
298f93e98 [errorprone] Fix inconsistent capitalization
e5e54b61b [errorprone] PageRef#isStringRef: suppress UnusedMethod
37f60c798 [errorprone] FileReftableStack: fix EqualsUnsafeCast
bf92bb9bc [errorprone] Suppress MissingSummary for translation bundles
e23796cbd [errorprone] CommandLineMergeTool: Remove unused constuctor
254ffbfb0 [errorprone] SimilarityRenameDetector: suppress IntLongMath
7092803ad Add comment why protocol list uses WeakReference
d5bcf199c [errorprone] Transport: Suppress ModifyCollectionInEnhancedForLoop
8302377d9 [errorprone] Rename method parameter to silence InvalidParam
e6c808600 [errorprone] MyersDiff#main: fix CatchAndPrintStackTrace
2d16df1a0 [errorprone] TagCommand: Remove unused parameter of private method
28d4b3490 [errorprone] PathFilter#getPathsBestEffort: fix ArrayAsKeyOfSetOrMap
cda8ffdbb [errorprone] DirCacheEntry: suppress JavaInstantGetSecondsGetNano
d0b9ab1c4 [errorprone] Directly implement functional interface
ba2f9affc [errorprone] InterruptTimer#terminate: ensure Thread#join succeeds
a17e05437 [errorprone] RawParseUtils@parseHexInt64: suppress IntLongMath
978cbb84c [errorprone] Exceptions should not override #toString
1e92426c5 [errorprone] Fix invalid param in javadoc
e53c1864e [errorprone] FS#searchPath: handle surprising behavior of String#split
a94e54ce8 [errorprone] FileStoreAttributes#FUTURE_RUNNER: Fix corePoolSize
13bea495c [errorprone] Express duration using seconds which is clearer
ec0657ba0 [errorprone] Use ArrayList instead of LinkedList
b4f4ae472 [errorprone] AddCommand#filepattern: use a more specific type
ebdf71c11 [errorprone] Suppress UnnecessaryParentheses
4cf246c9a [errorprone] Remove unnecessary parentheses
d65170603 tools/BUILD: Sort errorprone rules alphabetically
136b8953e Update jetty to 10.0.16
ff10cd2d8 Update bazel to 6.3.2
01d6d8a19 DfsPackFile: remove unnecessary @SuppressWarnings("boxing")
1924d353e CommitGraphWriter: Remove unnecessary semicolon
4262150f7 CommitGraphWriter: fix boxing warnings
c57257bc0 CommitGraphWriter#createCoreChunks: Remove not-thrown exceptions
2390a89f2 CommitGraphWriter: Decouple Stats from computing bloom filters
f1a9d92a3 CommitGraphWriter: Move bloom filter calculation out of createChunks
e0bd4882f Documentation: Move writeChangedPaths flag from commitGraph to gc section.
916200e27 [errorprone] Fix wrong comparison which always evaluated to false
cf5ec856b [errorprone] Remove unnecessary comparison
290902d9f Update org.eclipse.jdt:ecj to 3.35.0
12e9c3f1f Update org.apache.commons:commons-compress to 1.24.0
0acc5aeaf [errorprone] Suppress ImmutableEnumChecker for ShutdownHook
8d62e5d04 Update bytebuddy to 1.14.8
642f16023 Use ShutdownHook to gracefully handle JVM shutdown
d4d6c2b5a Add ShutdownHook to cleanup FileLocks on graceful JVM shutdown
f94be665f Unregister ShutdownHook when GC#PidLock is closed
e3798df6e OSGi: move plugin localization to subdirectory
3bc1da30d ssh: Remove redundant null check for home.getAbsoluteFile()
82c6638c7 RevertCommand: support for inserting a Gerrit change ID
7e502953c [releng] Bump japicmp base version to 6.7.0.202309050840-r
7baa5a157 DfsPackFile: Record index loads only in one place
30427485d DfsPackfile: Emit the index load with the index object
3a3b72cf9 Prepare 6.8.0-SNAPSHOT builds
bb12dd4cb Prepare 6.7.1-SNAPSHOT builds
09f6383f5 Switch back to wagon-ssh-external
b43880484 Fix generation of maven site
ba1653162 Ensure home directory not null before using in Sshdsessionfactory
4f5afe9d7 CommitGraphWriter: Make the list of chunks immutable
f90f0717a CommitGraphWriter: Assert written bytes
ea02caf1e JGit v6.7.0.202309050840-r
c024cb23d Remove unused API problem filters
a5ffa44d5 [releng] Bump japicmp base version to 6.6.0.202305301015-r
43681ee74 Fix list of 3rd party bundles in p2 repo
ee0b20c64 Add missing source bundle org.osgi.service.cm.source to target platform
13c8dacae CommitGraphWriter: throw exception on unknown chunk
fb51a2234 Document commit-graph options supported by JGit
a40abb0a1 Fix warning raised for local variable hiding DfsPackFile#index
4f3db912c Suppress boxing warnings in DfsPackFile
807cf678a Remove unused API problem filters
02b45a844 Suppress boxing warnings in tests
35b5344c9 Fix warning about empty block
e51a0e51e Update mockito to 5.5.0
24c5d0120 Update byte-buddy to 1.14.7
c5d8936c8 Prepare 6.7.0-SNAPSHOT builds
c54acc582 JGit v6.7.0.202308301100-rc1
2be8bf2b3 Remove the cbi-snapshots Maven repository
8995a6429 Update Orbit to orbit-aggregation/release/4.29.0
2a64412e9 Add target platform for Eclipse 2023-09 (4.29)
9fd44e098 Use release p2 repo for Eclipse 2023-06 (4.28)
2d0a5fa64 Update tycho to 4.0.2
b6b0d323a Update jmh to 1.37
46264ba48 Update bouncycastle to 1.76
e29834a77 Fix some tests in ConfigTest
a2f326b76 Handle global git config $XDG_CONFIG_HOME/git/config
0d5e01761 IO: use JDK convenience methods
055a7c20e org.eclipse.jgit.junit.ssh/.settings/.api_filters: fix unclosed tags
a56930723 ReadChangedPathFilter: fix Non-externalized string literal warning
e7a09e316 Introduce core.packedIndexGitUseStrongRefs config key
9919a9faa DfsReader: Make PackLoadListener interface visible to subclasses
551ca93cc DfsGarbageCollector: provide commit graph stats
6f7333693 DfsGarbageCollector: put only GC commits into the commit graph
b4b8f05ee DfsReader: Expose when indices are loaded
de7b5b7b2 Prepare 6.7.0-SNAPSHOT builds
1d26471c1 JGit v6.7.0.202308011830-m2
24b6a35d3 Add missing @since tags
ba8f3cb1f Fix errorprone warning about precedence
c353645a0 Move footer-line parsing methods from RevCommit to FooterLine
462c57ec8 Merge: Add diff3 style merge conflict formatter.
c8f5a3f99 RevCommitCG: Read changed-path-filters directly from commit graph
eecd93714 Update commons-codec to 1.16.0
68c08265a Add missing @since tags for new API methods
8879eec46 Add missing package import needed to use MurmurHash3
ec3d919aa Identify a commit that generates a diffEntry on a rename Event.
f196c7a0e Pack: open reverse index from file if present
000e7caf5 PackReverseIndexV1: reverse index parsed from version 1 file
2eba4e5b4 PackReverseIndex: open file if present otherwise compute
8123dcd69 PackReverseIndex: verify checksums
7d2669587 ComputedPackReverseIndex: Clarify custom bucket sort algorithm
3b77e33ad CommitGraphWriter: add option for writing/using bloom filters
77aec6214 CommitGraphWriter: reuse changed path filters
d3b40e72a RevWalk: use changed path filters
ff0f7c174 CommitGraphLoader: read changed-path filters
49beb5ae5 CommitGraphWriter: write changed-path filters
23758d7a6 ssh: PKCS#11 support
db08835c6 GC: Remove handling of extra pack for RefTree
f41c5e8c0 Remove unnecessary @SuppressWarnings("serial")
010a14f24 Remove unused API problem filters
b2f7dc189 Remove redundant specification of type arguments
760bdd09b DfsPackParser: Create object indices if config says so
afb013b98 PackParserTest: Extract pack-writing helper code to its own class
cb99ff5bb DfsInserter: generate object size index if config says so
4d2a003b9 DfsInserter: populate full size on object insertion
12a4a4cca DFSGarbargeCollector: Write object size indices
9dace2e6d DfsReader/PackFile: Implement isNotLargerThan using the obj size idx
8a053b57a [releng] Use tycho 4.0.0 instead of 4.0.0-SNAPSHOT
dceebe350 Update mockito to 5.4.0 and bytebuddy to 1.14.5
79b46a0ef Fix S3Repository getSize to handle larger object sizes
91b23cc55 DfsPackFile: make #getReverseIdx public
55230e2b9 Add missing bazel dependency to benchmarks
4d5f2ada5 Update JMH to 1.36
00fa17680 Update bouncycastle to 1.75
d2f114589 Update org.eclipse.jdt:ecj to 3.34.0
8f1693c2d Update eclipse-jarsigner-plugin to 1.4.2
23a0e7e06 Update maven-surefire-report-plugin to 3.0.0
6eb5a4cc8 Update maven-project-info-reports-plugin to 3.4.3
9a60f7f7a Update maven-compiler-plugin to 3.11.0
5fcd681ac Update maven-enforcer-plugin to 3.3.0
6250020fa Update build-helper-maven-plugin to 3.4.0
a00f1663d Update spring-boot-maven-plugin to 2.7.13
d32352a44 Update maven-source-plugin to 3.3.0
8e6197162 PackReverseIndex: separate out the computed implementation
faefa90f9 Default for global (user) git ignore file
7b955048e Fix all Javadoc warnings and fail on them
c7960910f Mark COMMIT_GENERATION_* constants final
74547f4a6 PackReverseIndex: use static builder instead of constructor
181b629f7 Gc#writePack: write the reverse index file to disk
0f071a7bc Bump bazel vesion to 6.2.0
9afff3e80 Prepare 6.7.0-SNAPSHOT builds

Release-Notes: Update JGit to c0b415fb0
Change-Id: I961bdb25823fcd03954214ada46ca24d76ee2fa5
(cherry picked from commit eef3529120308bbbd4a6b309f3c1f00bd724a9cd)
4 files changed
tree: 8716e5ae0376fe80cda2feb68d14be41e256a09f
  1. .settings/
  2. .ts-out/
  3. antlr3/
  4. contrib/
  5. Documentation/
  6. e2e-tests/
  7. java/
  8. javatests/
  9. lib/
  10. modules/
  11. plugins/
  12. polygerrit-ui/
  13. prolog/
  14. prologtests/
  15. proto/
  16. resources/
  17. tools/
  18. webapp/
  19. .bazelignore
  20. .bazelproject
  21. .bazelrc
  22. .bazelversion
  23. .editorconfig
  24. .git-blame-ignore-revs
  25. .gitignore
  26. .gitmodules
  27. .gitreview
  28. .mailmap
  29. .pydevproject
  30. .zuul.yaml
  31. BUILD
  32. COPYING
  33. INSTALL
  34. Jenkinsfile
  35. package.json
  36. README.md
  37. SUBMITTING_PATCHES
  38. version.bzl
  39. web-dev-server.config.mjs
  40. WORKSPACE
  41. yarn.lock
README.md

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status Maven Central

Objective

Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.

Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.

Documentation

For information about how to install and use Gerrit, refer to the documentation.

Source

Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.

Reporting bugs

Please report bugs on the issue tracker.

Contribute

Gerrit is the work of hundreds of contributors. We appreciate your help!

Please read the contribution guidelines.

Note that we do not accept Pull Requests via the Github mirror.

Getting in contact

The Developer Mailing list is repo-discuss on Google Groups.

License

Gerrit is provided under the Apache License 2.0.

Build

Install Bazel and run the following:

    git clone --recurse-submodules https://gerrit.googlesource.com/gerrit
    cd gerrit && bazel build release

Install binary packages (Deb/Rpm)

The instruction how to configure GerritForge/BinTray repositories is here

On Debian/Ubuntu run:

    apt-get update && apt-get install gerrit=<version>-<release>

NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.

On CentOS/RedHat run:

    yum clean all && yum install gerrit-<version>[-<release>]

On Fedora run:

    dnf clean all && dnf install gerrit-<version>[-<release>]

Use pre-built Gerrit images on Docker

Docker images of Gerrit are available on DockerHub

To run a CentOS 8 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-centos8

To run a Ubuntu 20.04 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-ubuntu20

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.