summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | UploadPack: use want-refs as advertised set in fetch v2Patrick Hiesel2023-10-272-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Protocol v2 introduced refs-in-wants and ls-remote with prefixes. UploadPack already uses prefixes provided by the client during a v2 ref advertisement (ls-refs). However, when the client consequently sends another request to fetch a previously advertised ref (with want-ref lines), the server uses the whole set of advertised refs to compute reachability. In repos with many refs, this slows down the reachability checks setting up and walking through unnecessary refs. For gerrit it can also break valid requests because in gerrit "all" means "recent" and the wanted-ref could fall out of the "recent" range when reloading all refs at fetch time. Treat wanted-refs like a ref-prefix when calculating the advertised refs on v2 fetch command. Less refs means a faster setup and less walk for the reachability checks. Note that wanted-refs filters only over the refs visible to the user, so this doesn't give any extra visibility to the caller. If the request contains also "want <oid>" lines, we cannot use this optimization. Those objects could be reachable from any visible branch, not necessarily in the wanted-refs. Google-Bug: b/122888978 Change-Id: I2a4ae171d4fc5d4cb30b020cb073ad23dd5a66c4
* | | | | | | | | | | BasePackFetchConnection: Avoid full clone with useNegotiationTipRonald Bhuleskar2023-10-252-21/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the useNegotiationTip flag (introduced in change 738dacb), the client sends to the server only the tips of the wanted refs for the negotiation. Some wanted refs may not exist in the client (yet) and our implementation ignores them. So when only non-existing refs are wanted, jgit doesn't send any tips and the server understands it is a full clone. In useNegotiationTip, send ALL_REFS if any of the wanted refs does not exists locally. Change-Id: Ide04c5df785b9212abcd9d3cba194515e0af166f
* | | | | | | | | | | .gitignore: ignore all Maven output directories `target/`Matthias Sohn2023-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib405f3db99290fe9c1f1349759f6598819f1b886
* | | | | | | | | | | benchmarks: use org.eclipse.jgit-parent as parent pomMatthias Sohn2023-10-183-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2248c12072adccaf2ba525da5dec4fb5b35ca383
* | | | | | | | | | | Generate SBOMs using cyclonedx maven pluginMatthias Sohn2023-10-182-35/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and specify JGit's license using its SPDX identifier. See https://gitlab.eclipse.org/eclipsefdn/emo-team/sbom/-/blob/main/docs/sbom.adoc#sbom-maven Change-Id: I8f022002c84200ea430325916fa38c3764979c02
* | | | | | | | | | | DfsPackFile: Do not attempt to read stream if pack doesn't have itIvan Frade2023-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other getters (e.g. bitmap or commit graph) cover the case that the pack doesn't have the corresponding extension. Do the same here to detect this early and avoid an IOException in openFile. Change-Id: I29726b7ede0f795d35543453a3e7f92cee872a78
* | | | | | | | | | | PackObjectSizeIndexLoader: Log wrong bytes on exceptionIvan Frade2023-10-173-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the exception is thrown, we don't know if it is because the stream didn't have data or had a wrong header. Log the read bytes to differentiate these cases. Change-Id: Ie7612eab39016f5ad7f1bfb2e07cab972dab796f
* | | | | | | | | | | Silence API warnings for API added in 5.13.3Matthias Sohn2023-10-171-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was added in - f103a1d5c605 "Add support for git config repack.packKeptObjects" - f5f4bf0ad97f "Do not exclude objects in locked packs from bitmap processing" Change-Id: Id6af9fe549535c4e92de9080a41ef9f72a6646dd
* | | | | | | | | | | FileBasedConfig: in-process synchronization for load() and save()Thomas Wolf2023-10-141-51/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows reading and replacing a file via renaming concurrently may fail either in the reader or in the thread renaming the file. For renaming, FileUtils.rename() has a last-case fallback in which it deletes the target file before attempting the rename. If a reader reads at that moment, it will produce an empty config, and the snapshot and hash may be wrong because the concurrently running save() may set them. It's not really possible to do all this in a thread-safe manner without some synchronization. Add a read-write lock to synchronize readers and writers to avoid at least that JGit steps on its own feet. Bug: 451508 Change-Id: I7e5f0f26e02f34ba02dc925a445044d3e21389b4 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | FileUtils.rename(): better retry handlingThomas Wolf2023-10-141-16/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the atomic move fails on Windows, it may be because some other thread is currently reading the destination. If we delete the file then, that reader may get an exception, and conclude the file didn't exist, even though the rename() would re-create it right away. Try to avoid this from happening frequently by only deleting the destination on the last retry. Also don't sleep after the last attempt. Bug: 451508 Change-Id: I95bb4ec59d6e7efb4a7fc8d67f5df301f690257a Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | FileBasedConfig: ensure correct snapshot if no fileThomas Wolf2023-10-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no config file exists, use FileSnapshot.MISSING_FILE. Bug: 451508 Change-Id: I8a09cb756a8a4746189da5b3514dfcf81d10b3b1 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | DeleteBranchCommand: update config only at the endThomas Wolf2023-10-143-49/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When multiple branches were to be removed, the git config was updated after each and every branch. Newly do so only once at the end, after all branches have been deleted. Because there may be an exception after some branches have already been deleted, take care to update the config even if an exception is thrown. Bug: 451508 Change-Id: I645be8a1a59a1476d421e46933c3f7cbd0639fec Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | Config.removeSection() telling whether it changed the configThomas Wolf2023-10-144-24/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a variant of unsetSection() that returns whether it did indeed change the config. This can be used in to skip saving the config if it was not changed. Also fix the iteration over the entries: lastWasMatch was never reset, and thus all empty lines after a match would be removed. Change-Id: Iea9e84aa74b1e4bb3c89efe3936fa3a8a09532e5 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | RebaseCommand: return correct status on stash apply conflictsThomas Wolf2023-10-132-13/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that also the fast-forward cases return status STASH_APPLY_CONFLICTS when applying the stash produces conflicts. Bug: 582526 Change-Id: Ib989ff431dca6e301eb05156ca054a7115fa6ad5 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | | Merge branch 'stable-6.7'Matthias Sohn2023-10-139-4/+297
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.7: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I7e0856a5d70d5d155cf6874383ea1f5622d5238a
| * | | | | | | | | | Merge branch 'stable-6.6' into stable-6.7Matthias Sohn2023-10-139-4/+297
| |\ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.6: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I29241619e6c09933bb856e486f379be10dd609c2
| | * | | | | | | | | Merge branch 'stable-6.5' into stable-6.6Matthias Sohn2023-10-1310-61/+296
| | |\ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.5: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I7272a22451c0de6b4770767e7bb4e24c81518c20
| | | * | | | | | | | Merge branch 'stable-6.4' into stable-6.5Matthias Sohn2023-10-1310-217/+296
| | | |\ \ \ \ \ \ \ \ | | | | | |/ / / / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.4: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I2951d01f5f4581bee20079508cd8ee6ca8554f1f
| | | | * | | | | | | Merge branch 'stable-6.3' into stable-6.4Matthias Sohn2023-10-139-4/+296
| | | | |\ \ \ \ \ \ \ | | | | | | |/ / / / / | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.3: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I4b94a2b79941c085fa2f62246e8e879aaa85cd3f
| | | | | * | | | | | Merge branch 'stable-6.2' into stable-6.3Matthias Sohn2023-10-1310-4/+340
| | | | | |\ \ \ \ \ \ | | | | | | | |/ / / / | | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.2: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I22b89bf00dcef26b2096d25397aa9a57a745a92b
| | | | | | * | | | | Merge branch 'stable-6.1' into stable-6.2Matthias Sohn2023-10-1310-4/+340
| | | | | | |\ \ \ \ \ | | | | | | | | |/ / / | | | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.1: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: Ib4e4fe407dce334c7537bf278baa39db93aa2f09
| | | | | | | * | | | Merge branch 'stable-6.0' into stable-6.1Matthias Sohn2023-10-1310-4/+340
| | | | | | | |\ \ \ \ | | | | | | | | | |/ / | | | | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.0: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: I0c9c0b3c206cac03a93b30eda348177a4de35c36
| | | | | | | | * | | Merge branch 'stable-5.13' into stable-6.0Matthias Sohn2023-10-1310-113/+296
| | | | | | | | |\ \ \ | | | | | | | | | | |/ | | | | | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.13: PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing Change-Id: Ifeaa4b4f0c5944d4ecd3042be429833ff72b43ed
| | | | | | | | | * | PackConfig: fix @since tagsMatthias Sohn2023-10-131-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia513f7cdbf3c197e8661720fc804984ff165fc5c
| | | | | | | | | * | Remove unused API problem filtersMatthias Sohn2023-10-132-223/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9d5b96cf841478af8613667ef8574423630f8028
| | | | | | | | | * | Add support for git config repack.packKeptObjectsAntonio Barone2023-10-127-17/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Ide3445e652 introduced the `--pack-kept-objects` option to GC for including the objects contained in the locked packfiles during the repack phase. Whilst this allowed to explicitly pass a command line argument to the jgit gc program, it did not allow the option to be read from configuration. Allow the pack kept objects option to be configured exactly as C-Git documents [1], by introducing a new `repack.packKeptObjects` configuration. `repack.packKeptObjects` defaults to `true`, when the `pack.buildBitmaps` is `true` (which is the default case), `false` otherwise. [1] https://git-scm.com/docs/git-config#Documentation/git-config.txt-repackpackKeptObjects Bug: 582292 Change-Id: Ia931667277410d71bc079d27c097a57094299840
| | | | | | | | | * | Do not exclude objects in locked packs from bitmap processingLuca Milanesio2023-10-127-1/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Packfiles having an equivalent .keep file are associated with in-flight pushes that haven't been completed, with potentially a set of git objects not yet referenced by a ref. If the Git client is not up-to-date, it may result in pushing a packfile, generating a <packfile>.keep on the server, which may also contain existing commits due to the lack of Git protocol negotiation in the git-receive-pack. The Git protocol negotiation is the phase where the client and the server exchange the list of refs they have for trying to find a common base and minimise the amount of objects to be transferred. The repack phase in GC was previously skipping all objects that were contained in all packfiles having a <packfile>.keep file associated (aka "locked packfiles"), which did not take into consideration the fact that excluding the existing commits would have resulted in the generation of an invalid bitmap file. The code for excluding the objects in the locked packfiles was written well before the bitmap was introduced, hence could not consider a use case that did not exist at that time. However, when the bitmap was introduced, the exclusion of locked packfiles was not changed, hence creating a potential problem. The issue went unnoticed for many years because the bitmap generation was disabled when JGit noticed any locked packfiles; however, the bitmaps are enabled again since Id722e68d9f , and the the issue is now visible and is impacting the GC repack phase. Introduce the '--pack-kept-objects' option in GC for including the objects contained in the locked packfiles during the repack phase, which is not an issue because of the following: - If there are any existing commits duplicated in the packfiles they will be just considered once anyway because the repack doesn't generate duplicates in the output packfile. - If there are any new commits that do not have any ref pointing to them, they will be automatically excluded from the output repacked packfile. The same identical solution is adopted in the C implementation of git in repack.c. Because the locked packfile is not pruned, any new commits not pointed by any refs will remain in the repository and there will not be any accidental pruning or object loss as it is today before this change. As a side-effect of this change, it is now potentially possible to still have duplicate BLOBs after GC when the keep packfile contained existing objects. However, it is way better to keep the duplication until the next GC phase rather than omitting existing objects from repacking and, therefore generating an invalid bitmap and incorrect packfile. Bug: 582292 Bug: 582455 Change-Id: Ide3445e652fcf256a7912f881cb898897c99b8f8
* | | | | | | | | | | Use net.i2p.crypto.eddsa 0.3.0 from new Orbit buildMatthias Sohn2023-10-1317-47/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | consuming it directly from Maven Central. The bundle net.i2p.crypto.eddsa 0.3.0 contains bad OSGi metadata, earlier it was repackaged in Orbit tweaking its mandatory dependency to sun.security.x509 to an optional dependency. This project seems to be orphaned, probably because Java 15 added support for eddsa with JEP339 [1]. This repackaged bundle is no longer available after Orbit was renovated [2] to consume the vast majority of bundles directly from Maven Central without repacking them. Hence we have to workaround this (probably false) mandatory dependency. For that export an empty dummy package "sun.security.x509" to satisfy OSGi. [1] https://openjdk.org/jeps/339 [2] https://github.com/eclipse-orbit/orbit-simrel/issues/15 Change-Id: I2267e15823ebce6cf1d448e1e16a129f703e0f80
* | | | | | | | | | | Merge changes Ibd71a992,Ib7fa7cb7Matthias Sohn2023-10-0932-122/+428
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: [errorprone] Fix InconsistentCapitalization Update orbit to orbit-aggregation/2023-12
| * | | | | | | | | | | [errorprone] Fix InconsistentCapitalizationMatthias Sohn2023-10-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://errorprone.info/bugpattern/InconsistentCapitalization Change-Id: Ibd71a992128ca2e5f916a08dd11da67c5a2f8aad
| * | | | | | | | | | | Update orbit to orbit-aggregation/2023-12Matthias Sohn2023-10-0531-119/+425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add target platform for Eclipse 4.30 (2023-12) - update org.apache.ant to 1.10.14 Change-Id: Ib7fa7cb79e93ecd6009784bc0ad4269bfa71cb29
* | | | | | | | | | | | TestRepository: Add getInstant methodDavid Ostrovsky2023-10-051-0/+11
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error Prone is flagging Date-API as obsolete and recommends to migrate to Instant and LocalDate. Given that more JGit users starting to migrate to new Time API, offer getInstant method. Change-Id: Ie010b76d1c213cd0a645f716783ed2d57fc78071
* | | | | | | | | | | Merge branch 'stable-6.8'Matthias Sohn2023-10-030-0/+0
|\ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.8: Prepare 6.8.0-SNAPSHOT builds JGit v6.8.0.202310031045-m1 Change-Id: I6a6526fee84e15bb463a6ce0a0548a8b82ea7e4e
| * | | | | | | | | | Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-10-0391-125/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Idb86bac4bd152e57f1810c789bdbd26648f0b6ae
| * | | | | | | | | | JGit v6.8.0.202310031045-m1v6.8.0.202310031045-m1Matthias Sohn2023-10-0391-125/+125
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ida0108f3661213922b1e4340216d60a640a1b662
* | | | | | | | | | UploadPack: Delay freeing refs in sendPack()Ivan Frade2023-09-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change [1] set refs to null at the beggining of sendPack claiming they are not needed anymore, but they are still used few lines below to hoist referenced objects to the front of the pack. With refs nullified, the hoist doesn't happened. This hasn't caused any problem so far, probably because it is just an optimization and the objects are in the pack anyway. Move the nullification after the hoisting to keep the optimization and save the memory. [1] https://git.eclipse.org/r/c/jgit/jgit/+/161341 Change-Id: I8455249d8482f616af362d3912b718064d473b49
* | | | | | | | | | Merge "Fix log level for successful execution of ShutdownHook#notify to debug"Thomas Wolf2023-09-261-1/+1
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Fix log level for successful execution of ShutdownHook#notify to debugMatthias Sohn2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is debug trace and shouldn't be logged as a warning. Change-Id: Ibb24e91e857a05aa6b74b0e2c5b11ab057f6206a
* | | | | | | | | | | ByteBufferInputStream: add missing @since 6.8Thomas Wolf2023-09-261-0/+2
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I80574a514ade608b87bed2dae79851e53a850c31 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | Eclipse features: update copyright yearThomas Wolf2023-09-269-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set upper bound to 2023. Change-Id: I67acc12b3fe80ab7ca4a9303b0e96325a1e707e9 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | SSH agent: correct plug-in titleThomas Wolf2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not only "Unix SSH agent" support, but also for Windows. Drop "Unix". Change-Id: I22deb3e5750825a70c78eec46b1f2968544857b9 Signed-off-by: Thomas Wolf <twolf@apache.org>
* | | | | | | | | | Fix DefaultCharset bug pattern flagged by error proneDavid Ostrovsky2023-09-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See more details in: [1]. [1] https://errorprone.info/bugpattern/DefaultCharset Change-Id: Ib6aa279f9dcf63dff0672df5b5be3ea72597b1d8
* | | | | | | | | | Activate additional error prone checksDavid Ostrovsky2023-09-251-12/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1b351e04da9f08681f08aae9ce984c3d3285e88e Signed-off-by: David Ostrovsky <david@ostrovsky.org>
* | | | | | | | | | WorkingTreeIterator: directly filter input streamMatthias Sohn2023-09-255-18/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way we can avoid to access the byte buffers backing array. Implement a ByteBufferInputStream to wrap a byte buffer which we can use to expose the filter result as an input stream. Change-Id: I461c82090de2562ea9b649b3f953aad4571e3d25
* | | | | | | | | | [errorprone] Add missing javadoc summaryMatthias Sohn2023-09-25112-190/+1180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | see https://google.github.io/styleguide/javaguide.html#s7.2-summary-fragment Change-Id: Iaf4a6b55d4e4c59b7a2da3451164abb1bb47d4a1
* | | | | | | | | | [errorprone] Fix BadImportMatthias Sohn2023-09-2516-74/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://errorprone.info/bugpattern/BadImport Change-Id: Iea98b15862ed0bc4bcad759a7240133769680808
* | | | | | | | | | [errorprone] Prevent int expression may overflowMatthias Sohn2023-09-258-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | see https://errorprone.info/bugpattern/IntLongMath Change-Id: Id201b7fc49b953d500e88b95e183127fe40ef6cc
* | | | | | | | | | [errorprone] Suppress ByteBufferBackingArrayMatthias Sohn2023-09-253-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The byte buffers used here are created by wrapping a byte[]. See https://errorprone.info/bugpattern/ByteBufferBackingArray Change-Id: Idbc16d5ae4ff9f64b97be07a3cdf190716da191f
* | | | | | | | | | [errorprone] Suppress JavaLangClash to avoid breaking changeMatthias Sohn2023-09-254-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renaming this class is a breaking change. Add a todo to rename it in next major release. See https://errorprone.info/bugpattern/JavaLangClash Change-Id: I3528fd654e30d98f4ea43e71107d83324942141c
* | | | | | | | | | [errorprone] Fix EqualsGetClassMatthias Sohn2023-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://errorprone.info/bugpattern/EqualsGetClass Change-Id: Ida19a7e60656f87518e5ae2ef5eae511edb5b837