aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'stable-7.2'HEADmasterMatthias Sohn19 hours0-0/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.2: Prepare 7.1.2-SNAPSHOT builds JGit v7.1.1.202505221757-r Prepare 7.0.2-SNAPSHOT builds JGit v7.0.1.202505221510-r Prepare 6.10.2-SNAPSHOT builds JGit v6.10.1.202505221210-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities Change-Id: I540ac77a7338afd8ff6887e8b92381f121ada12d
| * Merge branch 'stable-7.1' into stable-7.2stable-7.2Matthias Sohn19 hours0-0/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.1: Prepare 7.1.2-SNAPSHOT builds JGit v7.1.1.202505221757-r Prepare 7.0.2-SNAPSHOT builds JGit v7.0.1.202505221510-r Prepare 6.10.2-SNAPSHOT builds JGit v6.10.1.202505221210-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities Change-Id: I919d0a6890ba2fd4aed745151fda82a4de116846
| | * Prepare 7.1.2-SNAPSHOT buildsstable-7.1Matthias Sohn19 hours89-540/+540
| | | | | | | | | | | | Change-Id: If1e74998a5d6495dafecd2e29b37dbf9018f99e6
| | * JGit v7.1.1.202505221757-rv7.1.1.202505221757-rMatthias Sohn22 hours89-123/+123
| | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ie69fa5fb5497f8bbb66c68b03eb161fb61bcddf1
| | * Merge branch 'stable-7.0' into stable-7.1Matthias Sohn22 hours3-1/+53
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.0: Prepare 7.0.2-SNAPSHOT builds JGit v7.0.1.202505221510-r Prepare 6.10.2-SNAPSHOT builds JGit v6.10.1.202505221210-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities Change-Id: I4506e4bf51225000418b15bf09df3287be26242a
| | | * Prepare 7.0.2-SNAPSHOT buildsstable-7.0Matthias Sohn22 hours89-534/+534
| | | | | | | | | | | | | | | | Change-Id: I80b330e687e96385176f00757dbf4491ce662dbc
| | | * JGit v7.0.1.202505221510-rv7.0.1.202505221510-rMatthias Sohn25 hours89-123/+123
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Id31e58be65f27c8f475f810b83491652be1266df
| | | * Merge branch 'stable-6.10' into stable-7.0Matthias Sohn25 hours3-1/+53
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.10: Prepare 6.10.2-SNAPSHOT builds JGit v6.10.1.202505221210-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities Change-Id: I699d57974d9ef2428355c59194c6becbc16828b7
| | | | * Prepare 6.10.2-SNAPSHOT buildsstable-6.10Matthias Sohn26 hours89-537/+537
| | | | | | | | | | | | | | | | | | | | Change-Id: Id893557b6929718f8528ce50b0f7bdb23057aa15
| | | | * JGit v6.10.1.202505221210-rv6.10.1.202505221210-rMatthias Sohn28 hours89-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I60dd6d671f605c7cfaed747cc0fc1772115e5f37
| | | | * AmazonS3: Do not accept DOCTYPE and entitiesMatthias Sohn28 hours1-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows OWASP recommendations in https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html Change-Id: I3d47debf14d95c8189d51256b4eb2ba991279452
| | | | * ManifestParser: Do not accept DOCTYPE and entitiesIvan Frade28 hours2-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These open the door for XXE attacks [1] and manifest do not need them. [1] https://en.wikipedia.org/wiki/XML_external_entity_attack Change-Id: Ia79971e1c34afaf287584ae4a7f71baebcb48b6a
* | | | | Update mockito to 5.18.0Matthias Sohn2 days8-13/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: I90132dd2d1a6ba2746d70bfd69ccdafca33fe735
* | | | | Update Jetty to 12.0.21Matthias Sohn2 days8-55/+55
| | | | | | | | | | | | | | | | | | | | Change-Id: I8d56b4e3ba166216efe2685d71aa3cc3f340de28
* | | | | Update com.google.code.gson:gson to 2.13.1Matthias Sohn2 days8-13/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: Iecf43d001c8c66e5e18fa72b1fa9c69d777b974c
* | | | | Merge branch 'stable-7.3'Matthias Sohn2 days0-0/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.3: Prepare 7.3.0-SNAPSHOT builds JGit v7.3.0.202505211123-m3 Change-Id: I61a55cc5f4d616157eb5ad04834939c63623af23
| * | | | | Prepare 7.3.0-SNAPSHOT buildsstable-7.3Matthias Sohn2 days89-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1fc82b7453287b6dc40dcda84f606bd637cf1ee3
| * | | | | JGit v7.3.0.202505211123-m3v7.3.0.202505211123-m3Matthias Sohn2 days89-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I425b58e62c158a036dd2793b4e699bdc77f7204b
| * | | | | Merge branch 'master' into stable-7.3Matthias Sohn2 days11-108/+189
| |\ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: FS.getFileStoreAttributes: cancel failed task executed asynchronously DfsReader/PackFile: Move represention to the packfile DfsPackFile: Remove unused getObjectCount method Prepare 7.2.2-SNAPSHOT builds JGit v7.2.1.202505142326-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities FileReftableStack: ensure new reftable files aren't missed on NFS Encapsulate layout of reftable stack in FileReftableStack Change-Id: I599cd8de2580552cec309f75bfaca9d574a67451
* | | | | | FS.getFileStoreAttributes: cancel failed task executed asynchronouslyMatthias Sohn2 days1-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to avoid unnecessary computations if the task getting FileStoreAttributes asynchronously timed out, cancelled or failed with another exceptions. Change-Id: I127a3e2f3710fc5a8742c61f513576ee2d84baed
* | | | | | DfsReader/PackFile: Move represention to the packfileIvan Frade3 days3-39/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reader iterates the packs looking for the best representation of an object. It does so using the primary and reverse indexes of the pack. This direct use of the indexes prevent the pack to be more clever and use the multipack index in these operations. Move finding objects in the pack and the representation to the pack itself. Now the pack can decide how to implement it (e.g. using the multipack index). Change-Id: Ief0f2384ab395557c2533990f7b3c532a88d7ac9
* | | | | | DfsPackFile: Remove unused getObjectCount methodIvan Frade4 days1-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method doesn't seem to be used. Change-Id: I9b7a25aa7bd99b461bb79a0d25c61a1fd6d40e64
* | | | | | Merge branch 'stable-7.2'Matthias Sohn8 days3-1/+53
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.2: Prepare 7.2.2-SNAPSHOT builds JGit v7.2.1.202505142326-r AmazonS3: Do not accept DOCTYPE and entities ManifestParser: Do not accept DOCTYPE and entities Change-Id: I2a56d92735c003d7d61147743409a24e1539ad55
| * | | | | Prepare 7.2.2-SNAPSHOT buildsMatthias Sohn8 days89-548/+548
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7fe3e1b17f770fa31062aaa4da4a007232f99fcc
| * | | | | JGit v7.2.1.202505142326-rv7.2.1.202505142326-rMatthias Sohn9 days89-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: If3ab18deba275e81122b2d9f711f4af508648cb4
| * | | | | AmazonS3: Do not accept DOCTYPE and entitiesMatthias Sohn9 days1-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows OWASP recommendations in https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html Change-Id: I3d47debf14d95c8189d51256b4eb2ba991279452
| * | | | | ManifestParser: Do not accept DOCTYPE and entitiesIvan Frade9 days2-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These open the door for XXE attacks [1] and manifest do not need them. [1] https://en.wikipedia.org/wiki/XML_external_entity_attack Change-Id: Ia79971e1c34afaf287584ae4a7f71baebcb48b6a
* | | | | | FileReftableStack: ensure new reftable files aren't missed on NFSMatthias Sohn14 days1-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If "core.trustTablesListStat" is set to "after_open" to ensure file attributes are refreshed on NFS refreshing only the attributes of the tables.list file is not sufficient since then NFS may not detect new reftable files (stored in the same refs/reftable/ directory) which may cause FileNotFoundExceptions. Fix this by refreshing attributes of the refs/reftable/ directory. Change-Id: I7e07834fd7628a07ed644cb2740101a749d433bb
* | | | | | Encapsulate layout of reftable stack in FileReftableStackMatthias Sohn2025-05-094-53/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The filesystem layout of reftables is fixed in the reftable specification hence the constructor FileReftableStack(File tablesListFile, File reftableDir, @Nullable Runnable onChange, Supplier<Config> configSupplier) should not allow to pass the path of the tables.list file independently from the refs/reftable/ directory containing both the tables.list file and the reftable files. Hence remove the path of the tables.list file from its argument list and instead set it inside the constructor. Use reftableDir instead of tablesListFile.getParentFile(). Also rename FileReftableStack.stackPath to tablesListFile which is easier to understand and remove the useless return value of FileReftableDatabase#convertFrom which was unused and always returned null. Change-Id: If1efba5d49d979d99a86871996abe550422d8945
* | | | | | Merge branch 'stable-7.3'Matthias Sohn2025-05-070-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-7.3: Prepare 7.3.0-SNAPSHOT builds JGit v7.3.0.202505070700-m2 Change-Id: I367d71d7f75676a42bf890fb940afa1ab57a7a61
| * | | | | Prepare 7.3.0-SNAPSHOT buildsMatthias Sohn2025-05-0789-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I68408f285a3be41fc6477dc746083a862cd7ee71
| * | | | | JGit v7.3.0.202505070700-m2v7.3.0.202505070700-m2Matthias Sohn2025-05-0789-123/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I818dcd940781f5ac2f5c0a171f84ea4a82b238d2
| * | | | | Merge branch 'master' into stable-7.3Matthias Sohn2025-05-0741-450/+1767
| |\ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: DfsInserter: Remove checkExisting setter and parameter PlotRefComparator: fix #timeof PlotWalk: Replace call to deprecated method in PersonIdent midx: Fix license header from Google Inc. to LLC Remove option to enable bzlmod Update bazel to 8.2.1 Update bazel to 7.6.1 MODULE.bazel: Move dependencies from WORKSPACE to bazel modules Update commons-io:commons-io to 2.19.0 Update com.google.code.gson:gson to 2.13.0 PackExt: Add value for the multipack index MultiPackIndex: Add and implement #resolve() method MultiPackIndexWriter: Handle empty packs MultiPackIndexWriter: return bytes written MultiPackIndexV1: Calculate memsize with long MultiPackIndexV1: Reorder methods and add NON-NLS annotations MultiPackIndex: add #getMemorySize() method midx: reader for the multipack index DfsPackFile.PackIndexes: pass primary index to reverse index Change-Id: I8785cb395fcdccc741ed1f258d641fbfa2bb7ab1
* | | | | | Merge "PlotRefComparator: fix #timeof"Matthias Sohn2025-05-071-2/+3
|\ \ \ \ \ \
| * | | | | | PlotRefComparator: fix #timeofMatthias Sohn2025-05-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The #timeof method returned - the commit time in seconds since the epoch for RevCommits - the tagger time in milliseconds since the epoch for annotated tags Fix this by converting commit time to milliseconds to ensure consistent timestamp comparison of tags and commits. Change-Id: I91621da19c234fe823788d85e4077750cb5cba1a
* | | | | | | Merge "DfsInserter: Remove checkExisting setter and parameter"Ivan Frade2025-05-062-19/+6
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | DfsInserter: Remove checkExisting setter and parameterIvan Frade2025-05-062-19/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We turned this off to debug something else and it created significantly bigger packs that spammed the storage. There is no reason to allow duplicates while inserting in a pack, so lets remove completely the option. The setter is not used and the variable is always true. Change-Id: I978049dce30c33b7aa650d3ddef9430cbef764fa
* | | | | | | PlotWalk: Replace call to deprecated method in PersonIdentIvan Frade2025-05-061-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | Change-Id: I0972121aaba6fd05f733d3ec62515e00c30530c7
* | | | | | midx: Fix license header from Google Inc. to LLCIvan Frade2025-05-028-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was introduced recently and the license header says Google Inc. where it should be Google LLC. Change-Id: If3d4f992bdcd165cfba356b4f9721c4605017dda
* | | | | | Remove option to enable bzlmodMatthias Sohn2025-04-241-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since it's enabled by default since bazel 7. Also remove comment to migrate dependencies to MODULE.bazel since that has been finished now. Change-Id: I7192ad4f0be88fab5bb40ecbea0aef9d57bb3466
* | | | | | Update bazel to 8.2.1Matthias Sohn2025-04-237-251/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 8.0.0 the option allow_empty of glob() is false by default [1], hence set it to true where necessary to allow an empty list of resources. Rename repository to jgit_deps to avoid duplicate dependency versions. See [2]. [1] https://docs.bazel.build/versions/3.2.0/be/functions.html#glob [2] https://github.com/bazel-contrib/rules_jvm_external/issues/916 Change-Id: I3912abfde56654c5946c88f9bbf6c0204ce72713
* | | | | | Update bazel to 7.6.1Matthias Sohn2025-04-232-1771/+186
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7c8d4e845313f6befe87b2882c2d958138ab5c2b
* | | | | | MODULE.bazel: Move dependencies from WORKSPACE to bazel modulesIvan Frade2025-04-238-385/+2091
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the shortcomings of WORKSPACE, Bzlmod is replacing the legacy WORKSPACE system. The WORKSPACE file is already disabled in Bazel 8 (late 2024) and will be removed in Bazel 9 (late 2025) [1]. Update - rules_java to 8.11.0 - rules_jvm_external to 6.7 - add dependency com.google.errorprone:error_prone_type_annotations needed for update to gson 2.13.0 - enable bzlmod for all commands [2] - add some options for maven.install - warn about duplicate dependencies [3] - fail if checksum is missing [4] - fetch sources [5] - hide transitive dependencies [6] [1] https://github.com/bazel-contrib/rules_jvm_external?tab=readme-ov-file#with-bzlmod-bazel-7-and-above [2] https://bazel.build/external/migration [3] https://github.com/bazel-contrib/rules_jvm_external?tab=readme-ov-file#duplicate-artifact-warning [4] https://github.com/bazel-contrib/rules_jvm_external?tab=readme-ov-file#checksum-verification [5] https://github.com/bazel-contrib/rules_jvm_external?tab=readme-ov-file#fetch-source-jars [6] https://github.com/bazel-contrib/rules_jvm_external?tab=readme-ov-file#hiding-transitive-dependencies Change-Id: Iaae0dfa5fcb333a07a9ff1d006e887d1ae49a3e7
* | | | | | Update commons-io:commons-io to 2.19.0Matthias Sohn2025-04-218-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7658b135be6ef41c152117d2c3307e419b9e0b59
* | | | | | Update com.google.code.gson:gson to 2.13.0Matthias Sohn2025-04-218-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic442a083f9b03c941cea3bcc8b8e70d9930d041b
* | | | | | PackExt: Add value for the multipack indexIvan Frade2025-04-152-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code establishing the PackExt from the file name uses endsWith, i think to cover for the x.<ext> and x.old-<ext> cases. This doesn't work if we add the "midx" case, as "midx".endsWith("idx"). Check explicitely that the extension maches itself or with the old- prefix. We rather keep the "midx" as file extension for upstream compatibility. Change-Id: I25d0e850b9df17ed99d776b397560774bc402d39
* | | | | | MultiPackIndex: Add and implement #resolve() methodIvan Frade2025-04-153-8/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reader offers the resolve functionality to find object ids with certain prefix. The basic implementation iterates through packs and calls resolve in their indexes. With multipack index, we can answer the resolve directly for all the packs included. Offer a resolve() method and implement it in the multipack index. Change-Id: If5679652f149a41afe568c719ba40b291ae1b917
* | | | | | MultiPackIndexWriter: Handle empty packsIvan Frade2025-04-152-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a pack doesn't have data, its offsets are null, not empty. A pack without objects is probably a pathological case, but I bumped into this while writing other tests. Check if the offsets are null (instead of empty) before trying to write the ridx. Change-Id: I8cadea086b302b2ead02a5a8d4e9e8adf85bc07b
* | | | | | MultiPackIndexWriter: return bytes writtenIvan Frade2025-04-141-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful later, in GC, to write the size of the stream in the pack description. Change-Id: Ic3d759c1120ef2fde77b432d33c46ba1791d954b
* | | | | | MultiPackIndexV1: Calculate memsize with longIvan Frade2025-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Errorprone pointed out that adding with int and casting to long at the end could overflow. Mark one of the operands as long to do the addition directly as long and avoid the overflow risk. Change-Id: I12449af90c84044a04e6dbd0978ff48d0ea33674