JGit 5.1.13.202002110435-r adds
- new WindowCache metrics
- and enables using strong references to reference cache pages in the
WindowCache. Set core.packedGitUseStrongRefs = true to enable using
strong references to reference packfile pages cached in the WindowCache.
If this option is set Java gc can no longer flush the WindowCache to
free memory if the used heap comes close to the maximum heap size. On
the other hand this provides more predictable performance.
Change-Id: I895369a8596dfc5adce76c65202ecf37e6a8386d
This JGit version brings significant performance improvement in the case when
Gerrit loads all external-ids from NoteDb. This happens whenever the
external_ids_map cache gets invalidated or expires.
With NoteDb containing about 70K external-ids we measured the following
times for loading all external-ids:
* Using JGit without [1]: 10 seconds
* Using JGit with [1]: 2 seconds
[1] https://git.eclipse.org/r/150254
Change-Id: I70c7f0d207ab9baa283fdda8432a2fc5e633553a
Improvements in 5.1.8 - 5.1.11:
- include filekey file attribute (inode on *nix filesystems) when
comparing FileSnapshots
- optionally wait opening new packfile until it can't be racy anymore
- fix FileSnapshot's consideration of file size
- ObjectDirectory: fix closing of obsolete packs
- measure FileStoreAttributes per filesystem
- improve measuring file timestamp resolution
- measure minimal racy interval
- use Instant to increase resolution to 1us (limited by FileTime)
- persist FileStoreAttributes
- optional asynchronous measurement of FileStoreAttributes
- directory - FileStore cache
- cache user and system level gitconfig
- fix supportsAtomicCreateNewFile default to true
- fix non-deterministic hash of archives created by ArchiveCommand
- reproduce racy atomic update in PackedBatchRefUpdate and fix it
Release notes:
https://projects.eclipse.org/projects/technology.jgit/releases/5.1.8https://projects.eclipse.org/projects/technology.jgit/releases/5.1.9https://projects.eclipse.org/projects/technology.jgit/releases/5.1.10https://projects.eclipse.org/projects/technology.jgit/releases/5.1.11
Change-Id: Ia93eaee442096eabdb999c9c9a6fc0edeb10c0fe
* stable-2.15:
Bazel: Add fixes for --incompatible_load_{java|python}_rules_from_bzl
Bazel: Bump minimum supported version to 0.29.0
Lucene index configuration and docs.
Change-Id: I6c597cbc89fafece83c374e9b36c4c4c0126704f
* stable-2.14:
Bazel: Add fixes for --incompatible_load_{java|python}_rules_from_bzl
Bazel: Bump minimum supported version to 0.29.0
Lucene index configuration and docs.
Change-Id: I0a8c17c853746ca7367cc4b723b18f8d0f2b6094
This change is fixing "All Java build rules should be loaded from
Starlark" warning flagged by latest buildifier version: [1]. Python
rules are now also loaded from the Starlark.
Also extract codemirror library import to BUILD file. This is needed to
avoid cycle in the workspace file, after importing java rules from
Starlark.
[1] https://github.com/bazelbuild/buildtools/blob/master/WARNINGS.md#native-java
Change-Id: I36192c9465d988b25cf09c250e110f15850910cd
Improvements in 5.1.9 and 5.1.10:
- measure FileStoreAttributes per filesystem
- improve measuring file timestamp resolution
- measure minimal racy interval
- use Instant to increase resolution to 1us (limited by FileTime)
- persist FileStoreAttributes
- optional asynchronous measurement of FileStoreAttributes
- directory - FileStore cache
- cache user and system level gitconfig
- fix supportsAtomicCreateNewFile default to true
- fix non-deterministic hash of archives created by ArchiveCommand
Release notes:
https://projects.eclipse.org/projects/technology.jgit/releases/5.1.9https://projects.eclipse.org/projects/technology.jgit/releases/5.1.10
Change-Id: Ifc110f1f305d16cb7f3c2dbe55e3b4855c1b7ce1
This version of JGit includes a fix in ResolveMerger to handle conflicts
in submodules. Refer to the upstream issue [1] and change [2] for more
details.
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=494551
[2] https://git.eclipse.org/r/110172
Change-Id: Ibb32e927756d833a2f6773e0c81bce678f33e7b1
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
Signed-off-by: David Pursehouse <dpursehouse@collab.net>
This release fixes a regression that was introduced in the previous
release, where an infinite loop could occur when an object was not
found in the packfile and `core.trustfolderstat` was set to `false`.
Bug: Issue 10695
Change-Id: I6f6e4491ad1b8ce785433e500bb924882f91484e
This release fixes a regression that was introduced in the previous
release, where an infinite loop could occur when an object was not
found in the packfile and `core.trustfolderstat` was set to `false`.
Bug: Issue 10695
Change-Id: I6c27f7b6404c2fde9173c96cacf6986c5c7cc8e6
This release fixes a regression that was introduced in the previous
release, where an infinite loop could occur when an object was not
found in the packfile and `core.trustfolderstat` was set to `false`.
Bug: Issue 10695
Change-Id: I11c1a5659f3d495fd78d3cdbc1733b816927a598
* stable-2.15:
Consume JGit artifacts from Maven Central
Consume JGit artifacts from Maven Central
gr-related-changes: Don't show "Same topic" for only one change
RelatedChanges: Don't show "Same Topic" for only one change
ChangeEditApi: Allow to set options on change edit detail request
Add Javadoc to clarify behavior of {Accounts|Changes|Groups}#withOptions
OnlineNoteDbMigrationIT: improve readability of some tests
Update git submodules
Add release notes for Gerrit v2.10.8
Add release notes for Gerrit v2.9.5
Set version to 2.13.12
Set version to 2.12.9
Set version to 2.11.12
Set version to 2.10.8
Set version to 2.9.5
Change-Id: Id02a8afc6e4e8d42b759ed2ea28a0926411ff2e8
* stable-2.14:
Consume JGit artifacts from Maven Central
Consume JGit artifacts from Maven Central
Update git submodules
Add release notes for Gerrit v2.10.8
Add release notes for Gerrit v2.9.5
Set version to 2.13.12
Set version to 2.12.9
Set version to 2.11.12
Set version to 2.10.8
Set version to 2.9.5
Change-Id: I925b58960c482bbc0e7e5f8a57182d787cbad4fe
The recent JGit releases were published to the Eclipse repository
due to a security embargo. The embargo has since been lifted, and
the releases are available on Maven Central, so switch back to
consuming the artifacts from there.
Change-Id: I054cc91f410451fe2f3da5b3c8274d8b5890a3bf
This release fixes an issue where AdvertiseRefsHook was not called for
git-upload-pack in protocol v0 bidirectional transports, meaning that
wants aren't validated and a user can fetch anything that is pointed
to by any ref (using fetch-by-sha1), as long as they can guess the
object name.
Bug: Issue 10262
Change-Id: I4805d128fa5cbe0ea202435c899ae963faf7d7b3
This release fixes an issue where AdvertiseRefsHook was not called for
git-upload-pack in protocol v0 bidirectional transports, meaning that
wants aren't validated and a user can fetch anything that is pointed
to by any ref (using fetch-by-sha1), as long as they can guess the
object name.
Bug: Issue 10262
Change-Id: I169fbc742a4edffdf52e6b8ef71b7cd618affa95
This release fixes an issue where AdvertiseRefsHook was not called for
git-upload-pack in protocol v0 bidirectional transports, meaning that
wants aren't validated and a user can fetch anything that is pointed
to by any ref (using fetch-by-sha1), as long as they can guess the
object name.
Bug: Issue 10262
Change-Id: I8b81336acffc655f8d768ba84c8b95a086397b32
Includes the following fixes since 5.1.2.201810061102-r:
- SubmoduleValidator: Permit missing path or url
- Fix file handle leak in ObjectDownloadListener.onWritePossible
- ssh: Prefer algorithms of the known host keys
Change-Id: Iab12e96052f7bb4ad6a3715282d8a5077801f3ae
It contains fix for 'LFS: file handle leak in ObjectDownloadListener'
issue ([1])
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=540049
Change-Id: I10d138cdb6bbb33a3511156f6abc238c9285a007
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
This JGit release implements validation of .gitmodules files to protect
unguarded tools against CVE-2018-17456.
See https://nvd.nist.gov/vuln/detail/CVE-2018-17456
Change-Id: Ibe306e4a698987a49524163449fb7b7283ed7b47
This JGit release implements validation of .gitmodules files to protect
unguarded tools against CVE-2018-17456.
See https://nvd.nist.gov/vuln/detail/CVE-2018-17456
Change-Id: Ie9b39811adfa09c3c5268ee0d2ea4cd42fb9409a
This JGit release implements validation of .gitmodules files to protect
unguarded tools against CVE-2018-17456.
See https://nvd.nist.gov/vuln/detail/CVE-2018-17456
Change-Id: Idd8102dbb0c3590a18fa83c6aadc1e48ff50f451
This release introduces some more deprecations, which are not fixed
in this commit but will be addressed in follow-ups.
Change-Id: I13acd56e95410ab23dddb8883ad530d427a00c89
This release contains the following fixes since 4.9.4.201809090327-r:
- 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
- Fix NoSuchFileException during directory cleanup in RefDirectory
- Externalize warning message in RefDirectory.delete()
- Suppress warning for trying to delete non-empty directory
Bug: Issue 9667
Change-Id: I2c2dfe9b1997e52c295f8fbf8726dae539212cdb
This release contains the following fixes since 4.7.3.201809090215-r:
- 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
- Fix NoSuchFileException during directory cleanup in RefDirectory
- Externalize warning message in RefDirectory.delete()
- Suppress warning for trying to delete non-empty directory
Bug: Issue 9667
Change-Id: Icc0a72d4c0301593d13434911e9a41ede4b6071b
This release includes the following fixes since 5.0.2.201807311906:
- Fix atomic lock file creation on NFS
- Fix handling of option core.supportsAtomicCreateNewFile
- GC: Avoid logging errors when deleting non-empty folders
- Fix NoSuchFileException in GC.deleteTempPacksIdx()
- Fix NoSuchFileException during directory cleanup in RefDirectory
- Suppress warning for trying to delete non-empty directory
- Fix fetching with duplicate ref updates
- Fetch(Process): should tolerate duplicate refspecs
- Fix wrong warning message in case of lock failures
- Fix GC run in foreground to not use executor
- Ensure that JSch knows HostKeyAlgorithms ssh-rsa and ssh-dss
Change-Id: I219c589665f66061ecafdccd0faadffcb14dd9bc
This release includes the following fixes since 4.9.3.201807311005-r:
- Fix atomic lock file creation on NFS
- Fix handling of option core.supportsAtomicCreateNewFile
- GC: Avoid logging errors when deleting non-empty folders
- Suppress warning for trying to delete non-empty directory
- Fix fetching with duplicate ref updates
- Fetch(Process): should tolerate duplicate refspecs
- Fix GC run in foreground to not use executor
Change-Id: Ica1bbea49bfdafc78e8e2bc5641a3f35e95bad8a
This release includes the following fixes since 4.7.2.201807261330-r:
- Fix atomic lock file creation on NFS
- Fix handling of option core.supportsAtomicCreateNewFile
- GC: Avoid logging errors when deleting non-empty folders
- Fix GC run in foreground to not use executor
Change-Id: I6862cd6c3bff5b07234d886f80fb42504dd1ca79
* stable-2.14:
InitSshd: Use correct flag to set empty passphrase
SshSession: Specify charset in constructor of Scanner
Specify charset in constructors of InputStreamReader
Update JGit dependencies to fix building from source
Change-Id: I994d9d26bb7a1b1333a6380fb81126c1e8dc026d
Depends on [1] which harmonizes JGit's dependency names to align with
the names used in Gerrit since change I1e75690fe. Without [2], the
build will fail with errors like:
"no such package '@commons_compress//jar'"
Also move the 'hamcrest-library' dependency out of WORKSPACE into the
jgit rules where it will be added conditionally.
[1] https://git.eclipse.org/r/#/c/128354/
Change-Id: I33be13e7f36ec2bcacbb9eb0983c88c6f3082097
A dependency on 'com.jcraft.jzlib' was added in JGit [1], so add that
to the dependencies for building JGit from source.
Also move the 'hamcrest-library' dependency out of WORKSPACE into the
jgit rules where it will be added conditionally.
Depends on [2] which harmonizes JGit's dependency names to align with
the names used in Gerrit since change I1e75690fe. Without [2], the
build will fail with errors like:
"no such package '@commons_compress//jar'"
[1] https://git.eclipse.org/r/#/c/114907/
[2] https://git.eclipse.org/r/#/c/128348/
Change-Id: I33be13e7f36ec2bcacbb9eb0983c88c6f3082097
This release contains the following fixes since 5.0.1.201806211838-r:
A fix for issue 9153:
- ResolveMerger: Fix encoding with string; use bytes
And several fixes related to cleanup of ref directories after running
GC:
- Delete all loose refs empty directories
- Use java.nio to delete path to get detailed errors
- GC: Remove empty references folders
- Do not ignore path deletion errors
Bug: Issue 9153
Change-Id: I38d57c20475345626e277c7734fd0e109070d69e
This release contains the following fixes that were submitted on
JGit's stable-4.9 branch since the currently used snapshot was built:
A fix for issue 9153:
- ResolveMerger: Fix encoding with string; use bytes
And several fixes related to cleanup of ref directories after running
GC:
- Delete all loose refs empty directories
- Use java.nio to delete path to get detailed errors
- GC: Remove empty references folders
- Do not ignore path deletion errors
Bug: Issue 9153
Change-Id: Ia385b5bb46e94e4a93503345648502885c61c5c9
This release contains several fixes since 4.7.1.201706071930-r.
The ones we're particularly interested in are:
- ResolveMerger: Fix encoding with string; use bytes
which fixes issue 9153, and:
- Delete all loose refs empty directories
- Use java.nio to delete path to get detailed errors
- GC: Remove empty references folders
- Do not ignore path deletion errors
which fix issues with cleanup of ref directories after running GC.
The release also includes:
- Honor trustFolderStats also when reading packed-refs
Users should note that for repositories with a high number of
references (for example in excess of 300K refs) and in a server with
high traffic, this solution may not scale well and should be tested
carefully.
Bug: Issue 9153
Change-Id: I4a229589dd1a3a14844538df0556fa1b62731029
When we upgraded to 5.0.1.201806211838-r the Javadoc was not
available, so the previous version was used.
Now it's available, so we can use it.
Change-Id: Ic1b244177964d6a15d0179e3bf5223ff7fc07cd8
* stable-2.14:
Apply buildifier to .bzl files.
Update Bower to 1.8.2
Bump commons-io version to 2.2
Change-Id: Ic90865db76a0e34f0f8fef33b83ec7b2fd75c875
Buildifier is now also used for formatting .bzl files.
This change was created by running buildifier 0.12 over our source tree.
Change-Id: I9f15112d4fe23e5cec0700cfe47f1ca649f61d2a