aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | | | | | | | Update maven pluginsMatthias Sohn2025-03-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - maven-deploy-plugin to 3.1.4 - maven-install-plugin to 3.1.4 - tycho to 4.0.12 Change-Id: I33fbe1f554e833c37cf886c88f6c8ec3c2275ba4
* | | | | | | | | | | | | | | | | Update spotbugs-maven-plugin to 4.9.2.0Matthias Sohn2025-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5c9b6b564b1c2f9b6f2cd433e860b0243d958190
* | | | | | | | | | | | | | | | | Update mockito to 5.16.0Matthias Sohn2025-03-087-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ifd3f974874bfdfdc792eee0be01be0f670ace6e3
* | | | | | | | | | | | | | | | | Update jetty to 12.0.17Matthias Sohn2025-03-087-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2ea58b7375187f4794e866b360cd9f082347a66f
* | | | | | | | | | | | | | | | | Update bytebuddy to 1.17.2Matthias Sohn2025-03-087-18/+18
|/ / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I660e95b5009a8ebd04bf8e61e4d71e20c21ede53
* | | | | | | | | | | | | | | | FileReftableDatabase: mark autoRefresh volatileMatthias Sohn2025-03-041-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using an AtomicReference isn't necessary since we just set or get the field and there is no set based on a get. Change-Id: I83bcfed73ed63ab69af80675f6002e67cadc13e8
* | | | | | | | | | | | | | | | Prepare 7.3.0-SNAPSHOT buildsMatthias Sohn2025-03-0489-548/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id871f3084a8195fdfa2f7eab058515656bd2c9f9
* | | | | | | | | | | | | | | | Merge branch 'stable-7.2'Matthias Sohn2025-03-0492-550/+556
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.2: Prepare 7.2.1-SNAPSHOT builds JGit v7.2.0.202503040940-r JGit v7.2.0.202503040805-r CacheRegion: fix non translatable text warnings Change-Id: I65296a4911042553e7329c1e02bc19143d97c547
| * | | | | | | | | | | | | | | Prepare 7.2.1-SNAPSHOT buildsMatthias Sohn2025-03-0489-548/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iddc02bb3c2235b491d9b7034f29591b09d042e11
| * | | | | | | | | | | | | | | JGit v7.2.0.202503040940-rv7.2.0.202503040940-rMatthias Sohn2025-03-0489-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I3d3f7fc6732b3204970a7be7886361920d8ec60e
| * | | | | | | | | | | | | | | JGit v7.2.0.202503040805-rMatthias Sohn2025-03-0489-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ie3159a6610f3a1425c3b812f8284c073ee2b429c
| * | | | | | | | | | | | | | | CacheRegion: fix non translatable text warningsMatthias Sohn2025-03-043-2/+8
|/ / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I163957653b075f1f05a6219f4d23b340588ffcbd
* | | | | | | | | | | | | | | Merge branch 'master' into stable-7.2Matthias Sohn2025-03-0428-913/+363
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Ensure access to autoRefresh is thread-safe FileReftableStack: use FileSnapshot to detect modification FileReftableDatabase: consider ref updates by another process BlameRegionMerger: report invalid regions with checked exception. [ssh known_hosts] Handle unknown keys better [releng] Remove unused target platform definitions Change-Id: I2e49d582a5be9f1383b4f1713e33cb378b4f6118
| * | | | | | | | | | | | | | | Ensure access to autoRefresh is thread-safeMatthias Sohn2025-03-031-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7651613c33803daf00882a543dbf0c3f836110fa
| * | | | | | | | | | | | | | | FileReftableStack: use FileSnapshot to detect modificationMatthias Sohn2025-03-034-4/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading file attributes is faster than reading file content hence use FileSnapshot to speedup detecting if FileReftableStack is up-to-date. Introduce new option "core.trustTablesListStat" allowing to configure if we can trust file attributes of the "tables.list" file to speedup detection of file modifications. This file is used to store the list of filenames of the files storing Reftables in FileReftableDatabase. If this option is set to "ALWAYS" we trust File attributes and use them to speedup detection of file modifications. If set to "NEVER" the content of the "tables.list" file is always read unconditionally. This can help to avoid caching issues on some filesystems. If set to "AFTER_OPEN" we will open a FileInputStream to refresh File attributes of the "tables.list" file before relying on the refreshed File attributes to detect modifications. This works on some NFS filesystems and is faster than using "NEVER". Change-Id: I3e288d90fb07edf4fa2a03c707a333b26f0c458d
| * | | | | | | | | | | | | | | FileReftableDatabase: consider ref updates by another processMatthias Sohn2025-03-036-1/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FileReftableDatabase didn't consider that refs might be changed by another process e.g. using git (which started supporting reftable with version 2.45). Add a test creating a light-weight tag which is updated using git running in another process and assert that FileReftableDatabase recognizes the tag modification. FileReftableStack#addReftable checks if the stack is up-to-date while it holds the FileLock for tables.list, if it is not up-to-date the RefUpdate fails with a LOCK_FAILURE to protect against lost ref updates if another instance of FileReftableDatabase or another thread or process updated the reftable stack since we last read it. If option `reftable.autoRefresh = true` or `setAutoRefresh(true)` was called check before each ref resolution if the reftable stack is up-to-date and, if necessary, reload the reftable stack automatically. Calling `setAutoRefresh(true)` takes precedence over the configured value for option `reftable.autoRefresh`. Add a testConcurrentRacyReload which tests that updates still abort ref updates if the reftable stack the update is based on was outdated. Bug: jgit-102 Change-Id: I1f9faa2afdbfff27e83ff295aef6d572babed4fe
| * | | | | | | | | | | | | | | BlameRegionMerger: report invalid regions with checked exception.Ivan Frade2025-02-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the cached regions are invalid the merger throws an IllegalStateException. This is too strict. The caller can just continue working as if there was no cache. Report the error as IOException, that the caller can catch and handle. Change-Id: I19a1061225533b46d3a17936912a11000430f2ce
| * | | | | | | | | | | | | | | Merge "[ssh known_hosts] Handle unknown keys better"Matthias Sohn2025-02-262-20/+62
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | [ssh known_hosts] Handle unknown keys betterThomas Wolf2025-02-262-20/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignoring host keys that cannot be read means we may ask the user whether to accept a host key for a hitherto unknown server. This is subtly different from asking the user whether to accept a new or modified host key for a server for which a different host key is already known. So do not ignore such keys but store them as UnsupportedSshPublicKey. That enables us to give the user the correct feedback. If the user allows connecting and wants the new key to be stored, do not replace the line with the unknown key type as it might be perfectly fine for some other SSH program the user uses outside of JGit. Instead, add the new key as a new line. Change-Id: I304cb877d37b926c25a39acc16844088f54e0bde
| * | | | | | | | | | | | | | | | [releng] Remove unused target platform definitionsThomas Wolf2025-02-2616-886/+0
| |/ / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all unused Orbit definition files. Change-Id: I9ee73e0e6ef8364685b9ac84961eefa80315d5bb
* | | | | | | | | | | | | | | | Prepare 7.2.0-SNAPSHOT buildsMatthias Sohn2025-02-2689-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I92dea20a60d0b03e295a4215656e2686bfa9a294
* | | | | | | | | | | | | | | | JGit v7.2.0.202502261823-rc1v7.2.0.202502261823-rc1Matthias Sohn2025-02-2689-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I2b1209fe339ae6e7dd3c4291e21f97602fc2308d
* | | | | | | | | | | | | | | | Merge branch 'master' into stable-7.2Matthias Sohn2025-02-2663-398/+2614
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: [ssh known_hosts] Handle host certificates [ssh known_hosts] Improve updating modified keys [ssh known_hosts] Add tests and fix problems [ssh, releng] Remove net.i2p.crypto.eddsa AddCommand: Use parenthesis to make the operator precedence explicit AddCommand: implement --all/--no-all Do not load bitmap indexes during directory scans StringUtils: new #trim method Add --exclude option to describe CLI command DescribeCommand: remove unnecessary else clause DescribeCommand: Add exclusion matches using setExclude() Insert the Change-Id at the end of the footer block Update byte-buddy to 1.17.1 Update commons-logging:commons-logging to 1.3.5 Update commons-codec:commons-codec to 1.18.0 Update com.google.code.gson:gson to 2.12.1 Update ecj to 3.40.0 Update maven plugins ssh: bump Apache MINA sshd 2.14.0 -> 2.15.0 Update Change-Id insertion logic to insert after footers MultiPackIndexPrettyPrinter: add missing @since tag Export new package org.eclipse.jgit.blame.cache Fix calculation of pack files and objects since bitmap BlameGenerator: add @since tags to new methods and inner class pgm.MultiPackIndex: CLI command to write/print the multipack index BlameGenerator: cache and reuse blame results Pack: no longer set invalid in openFail() DirCacheCheckout.preScanOneTree: consider mode bits Merge: improve handling of case-variants Change-Id: If749d95feff8259410a0c9efa4f639a984e0fc5e
| * | | | | | | | | | | | | | | Merge branch 'stable-7.1'Matthias Sohn2025-02-266-43/+54
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.1: Do not load bitmap indexes during directory scans Fix calculation of pack files and objects since bitmap Pack: no longer set invalid in openFail() Change-Id: I4516cd7f39418ddbb7db381f58aadc99b6d7e40d
| | * | | | | | | | | | | | | | Merge branch 'stable-7.0' into stable-7.1Matthias Sohn2025-02-266-43/+54
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.0: Do not load bitmap indexes during directory scans Fix calculation of pack files and objects since bitmap Pack: no longer set invalid in openFail() Change-Id: I480a52909a7f3ee771947c0fd447433e10a9b19b
| | | * | | | | | | | | | | | | Merge branch 'stable-6.10' into stable-7.0Matthias Sohn2025-02-266-43/+54
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.10: Do not load bitmap indexes during directory scans Fix calculation of pack files and objects since bitmap Pack: no longer set invalid in openFail() Change-Id: I8846ad4745a360244f81518a028fed5f07086724
| | | | * | | | | | | | | | | | Do not load bitmap indexes during directory scansMartin Fick2025-02-254-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if a bitmap index had not been loaded yet, it would get loaded during a directory scan. Loading a bitmap file can be expensive and there is no immediate need to do so during a scan. Fix this by simply setting bitmap index file names on the Packs during directory scans so that bitmaps can be lazily loaded at some later point if they are needed. This change has the side affect of no longer marking a Pack valid if it is currently invalid simply because a bitmap file has been found, as there is no valid reason to do so and this can incorrectly mark a Pack without an index, or with other issues valid. Since the initial lack of a bitmap file, or an invalid one, or the deletion of one, would not result in the Pack being marked invalid, there is no need to overturn the invalid flag when a new bitmap file is found. Change-Id: I056acc09e7ae6a0982acd81b552d524190ebb4be Signed-off-by: Martin Fick <mfick@nvidia.com>
| | | | * | | | | | | | | | | | Merge "Pack: no longer set invalid in openFail()" into stable-6.10Matthias Sohn2025-02-241-14/+16
| | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | * | | | | | | | | | | | Pack: no longer set invalid in openFail()Martin Fick2025-02-141-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention of the 'invalidate' argument in openFail() is to invalidate the Pack in certain situations. However, after moving doOpen() to a lock instead of using synchronized, the invalidation approach could also incorrectly mark an already invalid Pack valid, which was never the intention since previously invalid would only ever get set to false if it already was false. Fix this by never setting invalid in openFail(), instead set invalid explicitly before calling openFail when needed. This makes the intent clearer, and aligns better with all the existing comments already trying to explain the boolean (and some of them become obvious enough now that the comment is deleted or shortened). This is also likely faster than adding a conditional in openFail() to make 'invalidate' work properly. Change-Id: Ie6182103ee2994724cb5cb0b64030fedba84b637 Signed-off-by: Martin Fick <mfick@nvidia.com>
| | | | * | | | | | | | | | | | | Fix calculation of pack files and objects since bitmapAntonio Barone2025-02-242-8/+33
| | | | |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a logic issue where pack files and objects created since the most recent bitmap were incorrectly counted, ignoring their modification time. Since pack files are processed in order from most recent to oldest, we can reliably stop counting as soon as we encounter the first bitmap. By definition, all subsequent pack files are older and should not be included in the count. This ensures accurate repository statistics and prevents overcounting. Bug: jgit-140 Change-Id: I99d85fb70bc7eb42a8d24c74a1fdb8e03334099e
| * | | | | | | | | | | | | | | [ssh known_hosts] Handle host certificatesThomas Wolf2025-02-265-13/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the "@cert-authority" marker and its handling: if the server sent an OpenSshCertificate, consider only entries marked as CA and look for the certificate's CA key. If the CA key cannot be found, just return false, rejecting the certificate. Never ask to add such keys to the file. Certificate authorities must always be added manually. Checking that the certificate is a valid host certificate and lists a matching principal is beyond the scope of the ServerKeyDatabase and is done in the key exchange even before the database is queried. In lookup(), skip CA keys. The purpose of lookup() is to do an early re-ordering of the signatures proposal in the initial key exchange, but since a CA key can be used to sign any other key of any key type it has no real benefit in this case. Also, the return value of lookup() is just a list of PublicKeys, so the caller couldn't distinguish CA keys from other keys anyway. Change-Id: I92c2c9d69d73cc4b125e8cad0262a48d2ec3c466
| * | | | | | | | | | | | | | | [ssh known_hosts] Improve updating modified keysThomas Wolf2025-02-262-1/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there are several keys for a host in the known_hosts files, prefer reporting and updating a line for the same key type as the host key received from the server. For instance, if there's an RSA and an EC key for a server but neither match an EC host key received from that server, report and overwrite the EC key, not the RSA key. And vice versa: if the server sent an RSA key, report an update the line for the RSA key, not the one for the EC key. Change-Id: I30c8a23ffe15242469bc538edba68ac3e38c6a55
| * | | | | | | | | | | | | | | [ssh known_hosts] Add tests and fix problemsThomas Wolf2025-02-263-26/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for known_hosts handling and fix two problems uncovered. When host patterns from different known_host files matched, but none had the key wanted, and the user said to accept the new key and store it, we'd try to always update a line read from the second file in the first file. As a result the new host key was not stored. Fix this by ensuring that we always try to modify the file the matching line was read from. When adding a new key (no host patterns matched), the new line would have duplicates in the host patterns, for instance, twice the same hostname. It did not have the IP address, though. Fix this by making sure we also add the IP address to the candidates to check against host patterns, and avoid writing duplicates when the new line is added to the file. Change-Id: I4c61050422ea635fb9bc30f585f00287fc437486
| * | | | | | | | | | | | | | | [ssh, releng] Remove net.i2p.crypto.eddsaThomas Wolf2025-02-2617-59/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's no longer needed; Apache MINA sshd now can work with the Bouncy Castle ed25519 implementation. Get rid of the unmaintained net.i2p bundle as dependency and drop it from the p2 repository. Also remove the hacky export of sun.security.x509 in oej.ssh.apache; it was added because of buggy test (sic!) dependency in net.i2p. In the bazel build make the Bouncy Castle libraries available to the ssh tests so that they have ed25519 even without the net.i2p library. Remove the net.i2p (eddsa) library throughout. Change-Id: I8e79afa84b8cce62ac8c3436c36fb02507af75b3
| * | | | | | | | | | | | | | | AddCommand: Use parenthesis to make the operator precedence explicitMatthias Sohn2025-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes errorprone error [OperatorPrecedence], see https://errorprone.info/bugpattern/OperatorPrecedence Change-Id: I3086ac0238bcf4661de6a69b1c133a4f64a3a8d4
| * | | | | | | | | | | | | | | AddCommand: implement --all/--no-allThomas Wolf2025-02-267-26/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Command-line git stages deletions if file paths are given. (i.e., --all is implied.) File paths are also optional if --update or --all (or --no-all) are given. Add a setter and getter for an "all" flag on AddCommand. Check consistency with the "update" flag in call(). Make file paths optional (imply a "." path) if update is set or if setAll() had been called. If file paths are given, set the all flag. Stage deletions if update is set, or if the "all" flag is set. Add the C git command-line options for the "all" flag to jgit.pgm.Add. Bug: jgit-122 Change-Id: Iedddedcaa2d7a2e75162454ea047f34ec1cf3660
| * | | | | | | | | | | | | | | Merge changes I83adebe5,Ibbc9ba97Matthias Sohn2025-02-255-47/+204
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: DirCacheCheckout.preScanOneTree: consider mode bits Merge: improve handling of case-variants
| | * | | | | | | | | | | | | | | DirCacheCheckout.preScanOneTree: consider mode bitsThomas Wolf2025-02-092-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If only the file mode is changed, it's still a change and we must check out the entry from the commit. Bug: jgit-138 Change-Id: I83adebe563fcdb4cbe330edb44884d55ed463c2c
| | * | | | | | | | | | | | | | | Merge: improve handling of case-variantsThomas Wolf2025-02-094-42/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that on a case-insensitive filesystem a merge that includes a rename of a file from one case variant to another does not delete the file. Basically make sure that we don't delete files that we had marked under a case variant as "keep" before, and ensure that when checking out a file, it is written to the file system with the exact casing recorded in the git tree. Bug: egit-76 Change-Id: Ibbc9ba97c70971ba3e83381b41364a5529f5a5dc
| * | | | | | | | | | | | | | | | StringUtils: new #trim methodIvan Frade2025-02-252-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In [1] we could use a "trim" function to remove leading/trailing '/' from paths. [1] https://gerrithub.io/q/I1f2a07327d1a1d8149ee482bc2529b7e1a5303db Change-Id: I490e6afe5c8e6c164d07442b1b388f8a131b4c50
| * | | | | | | | | | | | | | | | Add --exclude option to describe CLI commandMatthias Sohn2025-02-253-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I905f40750985571822e726cb6677aff45eeb5c49
| * | | | | | | | | | | | | | | | DescribeCommand: remove unnecessary else clauseMatthias Sohn2025-02-251-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and reduce indentation. Change-Id: I60a6f721eed051d67aa385a143e2bd3a950485f7
| * | | | | | | | | | | | | | | | DescribeCommand: Add exclusion matches using setExclude()Jonathing2025-02-252-7/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of right now, the describe command in JGit only supports adding matches for tag inclusion. It does not support adding matches for excluding tags, which is something that can be done with git on the command line using the "--excludes" flag. This change adds a sister method to setMatches(), called setExcludes(), which does exactly that. A few preliminary tests have also been included in DescribeCommandTest. Change-Id: Id1449c7b83c42f1d875eabd5796c748507d69362 Signed-off-by: Jonathing <me@jonathing.me>
| * | | | | | | | | | | | | | | | Insert the Change-Id at the end of the footer blockBen Rohlfs2025-02-252-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up of change 1208616. The goal is to get even closer to consistency with Gerrit's commit-msg hook. The modified test cases were all verified against what the commit-msg hook would do with the same commit message. The substantial change is that within the footer block we are putting the Change-Id also after lines matching `includeInFooterPattern`, not just after lines matching `footerPattern`. That are lines that start either with a space or with an opening bracket. Change-Id: I39305154e653f8f5adb6b75ca0f6b349b720e9d8
| * | | | | | | | | | | | | | | | Update byte-buddy to 1.17.1Matthias Sohn2025-02-257-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9fc7afa1b44847bc0c321d38d6c19ee1e14fa3cc
| * | | | | | | | | | | | | | | | Update commons-logging:commons-logging to 1.3.5Matthias Sohn2025-02-257-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7745294b95a8e6d778bb4b650b2407fbc18282c3
| * | | | | | | | | | | | | | | | Update commons-codec:commons-codec to 1.18.0Matthias Sohn2025-02-257-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8243ff30bca13b13e1c096ab7072673831ea937c
| * | | | | | | | | | | | | | | | Update com.google.code.gson:gson to 2.12.1Matthias Sohn2025-02-257-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I64b0c1e29bcd4f653d83813712a04496e17f9cd5
| * | | | | | | | | | | | | | | | Update ecj to 3.40.0Matthias Sohn2025-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I66960d838fd9f28211c7341c086ba02cf03d7f4f
| * | | | | | | | | | | | | | | | Update maven pluginsMatthias Sohn2025-02-252-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - gmavenplus-plugin to 4.1.1 - japicmp-plugin to 0.23.1 - maven-artifact-plugin to 3.6.0 - maven-clean-plugin to 3.4.0 - maven-compiler-plugin-version to 3.14.0 - spotbugs-maven-plugin-version to 4.9.1.0 - spring-boot-maven-plugin to 3.4.3 - tycho to 4.0.11 Change-Id: I45d930fd777723b13015e9a694c814ccdcc4930e