aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | Fix running benchmarks from bazelMatthias Sohn2021-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add missing dependency to - javaewah - slf4j-api Change-Id: I28dc982791b32f10d20b2fd0671aa8d2514a0fb3
* | | | | | | | | Update eclipse-jarsigner-plugin to 1.3.2Matthias Sohn2021-09-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id5d05d96c392913de7b4451421c2ffb7b63ab83f
* | | | | | | | | GitServlet: allow to override default error handlersAntonio Barone2021-09-011-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GitServlet delegates repository access over HTTP to the GitFilter servlet. GitServlet, in turn, can be extended by jgit consumers to provide custom logic when handling such operations. This is the case, for example, with Gerrit Code Review, which provides custom behavior with a GitOverHttpServlet [1]. Among possible customizations, the ability of specifying a custom error handler for UploadPack and ReceivePack was already introduced in GitFilter by Idd3b87d6b and I9c708aa5a2, respectively. However the `setUploadPackErrorHandler` and `setReceivePackErrorHandler` methods were never added to the GitServlet. Expose the `setUploadPackErrorHandler` and `setReceivePackErrorHandler` methods to the GitServlet, so that consumers of the jgit library might specify custom error handlers. [1] https://gerrit.googlesource.com/gerrit/+/refs/heads/stable-3.2/java/com/google/gerrit/httpd/GitOverHttpServlet.java#95 Change-Id: I712d485ff68b662b48c71ef75650c5a155950d23
* | | | | | | | | Merge branch 'stable-5.8' into stable-5.9Thomas Wolf2021-07-292-2/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.8: [test] Create keystore with the keytool of the running JDK ReachabilityCheckerTestCase: fix reachable from self test case Change-Id: If09cbb877c674f15261715cecef7a2393bf66fa3 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * | | | | | | | Merge branch 'stable-5.7' into stable-5.8Thomas Wolf2021-07-292-2/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: [test] Create keystore with the keytool of the running JDK ReachabilityCheckerTestCase: fix reachable from self test case Change-Id: I32010c6bf45d5138e17143d6c284ac56434eade1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | * | | | | | | Merge branch 'stable-5.6' into stable-5.7Thomas Wolf2021-07-292-2/+5
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: [test] Create keystore with the keytool of the running JDK ReachabilityCheckerTestCase: fix reachable from self test case Change-Id: I1f6b4fc26f6ee6f22cc0aacd032c1e73ba246dbc Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | * | | | | | Merge branch 'stable-5.5' into stable-5.6Thomas Wolf2021-07-291-1/+4
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.5: [test] Create keystore with the keytool of the running JDK Change-Id: Icb0bb6dc4ad05b1f3eb562547893f2e0aedf8775 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | | * | | | | Merge branch 'stable-5.4' into stable-5.5Thomas Wolf2021-07-291-1/+4
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.4: [test] Create keystore with the keytool of the running JDK Change-Id: I5ff3dc1c771aeb33af39eb68f166c7282b478cf8 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | | | * | | | Merge branch 'stable-5.3' into stable-5.4Thomas Wolf2021-07-291-1/+4
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.3: [test] Create keystore with the keytool of the running JDK Change-Id: If92372b7bfbfb9445fcb934c48dc1cd6610e061b Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | | | | * | | Merge branch 'stable-5.2' into stable-5.3Thomas Wolf2021-07-291-1/+4
| | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: [test] Create keystore with the keytool of the running JDK Change-Id: I981de862c614986a7b443fed1cce7b895b758682 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | | | | | * | Merge branch 'stable-5.1' into stable-5.2Thomas Wolf2021-07-291-1/+4
| | | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: [test] Create keystore with the keytool of the running JDK Change-Id: Ic56f4f23c37432377be88e07d06c5ad75591d84f Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | | | | | | * [test] Create keystore with the keytool of the running JDKThomas Wolf2021-07-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call keytool with the absolute path of "java.home". Otherwise a keytool for a different, maybe even newer Java version might be picked up, and then the keystore may not be readable by the JVM used to run the tests. (cherry picked from commit 2d73c702d3e9128b7dc03a01fe2cf18f119d3ffe) Change-Id: Iea77024947a34267f008847d81312fe0abadc615 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | * | | | | | ReachabilityCheckerTestCase: fix reachable from self test case Han-Wen Nienhuys2021-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8f94a0a0ff401f1691b3757002756b4e83dd8640 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* | | | | | | | | Retry loose object read upon "Stale file handle" exceptionAntonio Barone2021-06-244-16/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When reading loose objects over NFS it is possible that the OS syscall would fail with ESTALE errors: This happens when the open file descriptor no longer refers to a valid file. Notoriously it is possible to hit this scenario when git data is shared among multiple clients, for example by multiple gerrit instances in HA. If one of the two clients performs a GC operation that would cause the packing and then the pruning of loose objects, the other client might still hold a reference to those objects, which would cause an exception to bubble up the stack. The Linux NFS FAQ[1] (at point A.10), suggests that the proper way to handle such ESTALE scenarios is to: "[...] close the file or directory where the error occurred, and reopen it so the NFS client can resolve the pathname again and retrieve the new file handle." In case of a stale file handle exception, we now attempt to read the loose object again (up to 5 times), until we either succeed or encounter a FileNotFoundException, in which case the search can continue to Packfiles and alternates. The limit of 5 provides an arbitrary upper bounds that is consistent to the one chosen when handling stale file handles for packed-refs files (see [2] for context). [1] http://nfs.sourceforge.net/ [2] https://git.eclipse.org/r/c/jgit/jgit/+/54350 Bug: 573791 Change-Id: I9950002f772bbd8afeb9c6108391923be9d0ef51
* | | | | | | | | Ignore missing javadoc in test bundlesMatthias Sohn2021-06-249-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I83ed20823dc6b22ff48c2a554acb2f7d3b6067b7
* | | | | | | | | Merge branch 'stable-5.8' into stable-5.9Matthias Sohn2021-06-133-119/+317
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.8: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I9abf7dd8b8e5eb3199fd6b43a4653c4e4cf4bf1b
| * | | | | | | | Merge branch 'stable-5.7' into stable-5.8Matthias Sohn2021-06-133-119/+317
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I1ee0d01c14fb7dca151b4e7ae1b989da5a3a01e3
| | * | | | | | | Merge branch 'stable-5.6' into stable-5.7Matthias Sohn2021-06-133-119/+317
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I4570cce185877cb4c50eee519a1cf9467a766dea
| | | * | | | | | Merge branch 'stable-5.5' into stable-5.6Matthias Sohn2021-06-133-119/+317
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.5: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I504483a4dc979c5e7af18bad45dc18675e32afd2
| | | | * | | | | Merge branch 'stable-5.4' into stable-5.5Matthias Sohn2021-06-055-115/+324
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.4: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: If5232b68d3e25df7b71e417cbcbb39476e925f22
| | | | | * | | | Merge branch 'stable-5.3' into stable-5.4Matthias Sohn2021-06-055-115/+324
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.3: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I1338fc79a7be6b77fb28df511dd7504fb19b6d1a
| | | | | | * | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2021-06-055-115/+324
| | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: I7838f7d237a3598bf55995426d7ba1de146cb6ad
| | | | | | | * | Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2021-06-055-115/+324
| | | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: If1b5a2b380cf155e66bf5d5c6d216f86c919bb37
| | | | | | | | * Prepare 5.1.17-SNAPSHOT buildsMatthias Sohn2021-06-0557-360/+360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I20c69728465f956a5744a75eb548ef18962286dd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | | | * JGit v5.1.16.202106041830-rv5.1.16.202106041830-rMatthias Sohn2021-06-0557-60/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I526ed2a08553bc0b2678aaefaff9e0c6529baefc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | | | * Merge changes I853ac6c7,I01878116,Ie994fc18 into stable-5.1Matthias Sohn2021-06-043-113/+322
| | | | | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting()
| | | | | | | | | * BatchRefUpdate: Skip saving conflicting ref names and prefixes in memoryKaushik Lingarkar2021-05-241-41/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than getting all ref names and prefixes and saving them in memory to perform the check for conflicting names, rely on RefDirectory.isNameConflicting as it is no longer an expensive call after it was optimized in Ie994fc. The old optimization to save ref names and prefixes in memory was targeted towards making clones faster. With this change, the clone performance is unaffected when tests were done with repos containing many(~500k) refs. Here are few recorded elapsed times for creating 10 branches using BatchRefUpdate on NFS based repositories with varying loose refs count. As seen here, this change helps improve the BatchRefUpdate performance from O(n^2) to O(1). loose_refs_count with_change without_change 50 241 ms 310 ms 300 263 ms 1502 ms 1k 181 ms 4241 ms 2k 204 ms 6440 ms 9k 158 ms 25930 ms 20k 154 ms 60443 ms 50k 171 ms 135199 ms 110k 157 ms 329450 ms 160k 209 ms 396328 ms This update improves the Gerrit notedb migration performance as it uses BatchRefUpdate to write change meta refs similar to the test performed above. Change-Id: I853ac6c7feb4b39c3156c01876b38cbd182accfe Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
| | | | | | | | | * BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) firedKaushik Lingarkar2021-05-241-40/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update tests to record the number of events fired post-setup and only assert for events fired during BatchRefUpdate.execute. For tests which use writeLooseRef to setup refs, create new tests which assert the number of RefsChangedEvent(s) rather than updating the existing ones to call RefDirectory.exactRef as it changes the code path. Change-Id: I0187811628d179d9c7e874c9bb8a7ddb44dd9df4 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
| | | | | | | | | * Optimize RefDirectory.isNameConflicting()Kaushik Lingarkar2021-05-241-32/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid having to scan over ALL loose refs to determine if the name is nested within or is a container of an existing reference. This can get really expensive if there are too many loose refs. Instead use exactRef and getRefsByPrefix which scan based on a prefix. With a simple shell script(like below) using jgit client to create 1k refs in a new repository on NFS, this change brings down the time from 12mins to 7mins. for ref in $(seq 1 1000); do jgit branch "$ref" done Here are few recorded elapsed times to create a new branch on NFS based repositories with varying loose refs count. As we see here, this change improves the name conflicting check from O(n^2) to O(1). loose_refs_count with_change without_change 50 44 ms 164 ms 300 45 ms 1193 ms 1k 38 ms 2610 ms 2k 44 ms 6003 ms 9k 46 ms 27860 ms 20k 45 ms 48591 ms 50k 51 ms 135471 ms 110k 43 ms 294252 ms 160k 52 ms 430976 ms Change-Id: Ie994fc184b8f82811bfb37b111eb9733dbe3e6e0 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
| | | | | | | | * | Update bazlets and bazel versionMatthias Sohn2021-05-142-2/+2
| | | | | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - bazlets need to be updated to react on Maven central no longer supporting http protocol but only https - update bazel to 2.0 Change-Id: I07f5f050f3b1db2014a5198a28b6bbf893434814 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> (cherry picked from commit d74daad1e064da9614c5ca2c0138c8046cfb0829)
* | | | | | | | | Merge branch 'stable-5.8' into stable-5.9Matthias Sohn2021-05-121-14/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.8: Remove texts which were added by mistake in 00386272 Fix formatting which was broken in 00386272 Change-Id: I9ca7a0237f87d1d4bcaba81e709eaa67902f27e5
| * | | | | | | | Merge branch 'stable-5.7' into stable-5.8Matthias Sohn2021-05-113-22/+13
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: Remove texts which were added by mistake in 00386272 Fix formatting which was broken in 00386272 Change-Id: I7ed3f47cb46e6c1bf483702c8925a24e88658e47
| | * | | | | | | Merge branch 'stable-5.6' into stable-5.7Matthias Sohn2021-05-113-22/+13
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Remove texts which were added by mistake in 00386272 Fix formatting which was broken in 00386272 Change-Id: I45d444b360485564744bf3dfad2c2f5a5e7fcdf6
| | | * | | | | | Remove texts which were added by mistake in 00386272Matthias Sohn2021-05-112-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaed25dac0bc9af8f3fda6138a5f9fe553bff5d39 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * | | | | | Fix formatting which was broken in 00386272Matthias Sohn2021-05-111-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I10a3e2b117e790f64386a8e9e7663db8e59230d9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | | | Merge branch 'stable-5.8' into stable-5.9Matthias Sohn2021-05-115-72/+248
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.8: LockFile: create OutputStream only when needed Remove ReftableNumbersNotIncreasingException Change-Id: I3274c97cf560398c3c4c27d6759500452f315db0
| * | | | | | | | Merge branch 'stable-5.7' into stable-5.8Matthias Sohn2021-05-115-72/+256
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: LockFile: create OutputStream only when needed Remove ReftableNumbersNotIncreasingException Change-Id: Ib3f280e0741f87a0ff615d857a5ea39b35527e74
| | * | | | | | | Merge branch 'stable-5.6' into stable-5.7Matthias Sohn2021-05-114-35/+256
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: LockFile: create OutputStream only when needed Change-Id: I7c0e37d2cee0923662a7e39df5a802a84c017e4f
| | | * | | | | | LockFile: create OutputStream only when neededThomas Wolf2021-05-104-146/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't create the stream eagerly in lock(); that may cause JGit to exceed OS or JVM limits on open file descriptors if many locks need to be created, for instance when creating many refs. Instead create the output stream only when one really needs to write something. Bug: 573328 Change-Id: If9441ed40494d46f594a896d34a5c4f56f91ebf4 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | * | | | | | | Remove ReftableNumbersNotIncreasingExceptionHan-Wen Nienhuys2021-03-011-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a distributed setting, one can have multiple datacenters use reftables for serving, while the ground truth for the Ref database is administered centrally. In this setting, replication delays combined with compaction can cause update-index ranges to overlap. Such a setting is used at Google, and the JGit code already handles this correctly (modulo a bugfix that applied in change I8f8215b99a). Remove the restriction that was applied at FileReftableDatabase. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Change-Id: I6f9ed0fbd7fbc5220083ab808b22a909215f13a9
* | | | | | | | | Fix stamping to produce stable file timestampsDavid Ostrovsky2020-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I628ab5feb4a70f81ec832f1b81d1ad3a9caca615
* | | | | | | | | Merge branch 'stable-5.8' into stable-5.9Matthias Sohn2020-12-021-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.8: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: I08caea979ac4c1298b453e6e5558bccb86fb0181 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | | | | | | Merge branch 'stable-5.7' into stable-5.8Matthias Sohn2020-12-021-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: I638ee6409f25ac8bcb2e365b1c37939b520b289f
| | * | | | | | | Merge branch 'stable-5.6' into stable-5.7Matthias Sohn2020-12-021-0/+1
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: If5f001c414e677bb2bac59714421f0191b23ea1f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * | | | | | Merge branch 'stable-5.5' into stable-5.6Matthias Sohn2020-12-021-0/+1
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.5: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: I986029816ef66fbfae1a59bd97179392320a485c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | * | | | | Merge branch 'stable-5.4' into stable-5.5Matthias Sohn2020-12-021-0/+1
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.4: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: Iede8686198332d6271771bef6eb00c25f1103979 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | * | | | Merge branch 'stable-5.3' into stable-5.4Matthias Sohn2020-12-021-0/+1
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.3: Prepare 5.3.10-SNAPSHOT builds JGit v5.3.9.202012012026-r Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: I319b54ceffe095add60420c6ae83eac0ba9c14b6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * | | Prepare 5.3.10-SNAPSHOT buildsMatthias Sohn2020-12-0269-428/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I6f131ad04574bd0d569ae6a59c29ea987be0efb2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * | | JGit v5.3.9.202012012026-rv5.3.9.202012012026-rMatthias Sohn2020-12-0269-90/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I75e03ef8630d7a369e97be0f797253b968575354 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2020-12-021-0/+1
| | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: If1d8034b5e0cbc004a11a31b228cb5732efb390d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>