aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2019-09-046-106/+176
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Prepare 5.1.12-SNAPSHOT builds JGit v5.1.11.201909031202-r Prepare 4.11.10-SNAPSHOT builds JGit v4.11.9.201909030838-r Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: I7e88c7c7d202f1e3fb8e143277650aa5fefff439 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2019-09-046-88/+162
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Prepare 5.1.12-SNAPSHOT builds JGit v5.1.11.201909031202-r Prepare 4.11.10-SNAPSHOT builds JGit v4.11.9.201909030838-r Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: Iac5dc9683cea97db04d20f27c10f2e103d3ae7b5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Prepare 5.1.12-SNAPSHOT buildsMatthias Sohn2019-09-0356-359/+359
| | | | | | | | | | | | | | | Change-Id: I353ac3f23024063722abc7340bc9a6df3c615741 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * JGit v5.1.11.201909031202-rv5.1.11.201909031202-rMatthias Sohn2019-09-0356-59/+59
| | | | | | | | | | | | | | | Change-Id: I288acf670160b9bcd2d04f572a902b5838b4d4f8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Merge branch 'stable-5.0' into stable-5.1Matthias Sohn2019-09-036-88/+116
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.0: Prepare 4.11.10-SNAPSHOT builds JGit v4.11.9.201909030838-r Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: I172136a031ff0730e575327cafb3527c9650a71d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * Merge branch 'stable-4.11' into stable-5.0stable-5.0Matthias Sohn2019-09-0310-273/+186
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.11: Prepare 4.11.10-SNAPSHOT builds JGit v4.11.9.201909030838-r Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: Ifb6a4dbea2f48fd2ffa66eb737d61920aefedfbd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | * Prepare 4.11.10-SNAPSHOT buildsstable-4.11Matthias Sohn2019-09-0356-356/+356
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic98bd87d96ce627d38e1ecc2c3cb28b517ab489e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | * JGit v4.11.9.201909030838-rv4.11.9.201909030838-rMatthias Sohn2019-09-0356-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie60468569074197d49e19cbd0ffaedfe88f3d74e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | * Merge branch 'stable-4.10' into stable-4.11Matthias Sohn2019-09-038-269/+215
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.10: Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: If672b4f0c350f4e8ff7e1e706485cffd8137236d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | * Merge branch 'stable-4.9' into stable-4.10stable-4.10Matthias Sohn2019-09-032-2/+1
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.9: Bazel: Update bazlets to the latest master revision Bazel: Remove FileTreeIteratorWithTimeControl from BUILD file Change-Id: I8bb74aacc1c010cfed9a0c8acffb520724f0e395 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * Bazel: Update bazlets to the latest master revisionstable-4.9David Pursehouse2019-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest revision includes various fixes to allow the build to work with recent versions of Bazel. Change-Id: I72c100b99762010946d9b2784286af560bbdf185 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | | | | | * Bazel: Remove FileTreeIteratorWithTimeControl from BUILD fileDavid Pursehouse2019-09-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FileTreeIteratorWithTimeControl was deleted in a024759, but was not removed from the BUILD file, thus causing the bazel build to fail. Change-Id: I892c0ffcac947298d0d6009374ee2c5d9afefb66 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> (cherry picked from commit e54fde8616f53a6fab5201db4a0c7e67dd0145c5)
| | | | | * | Merge branch 'stable-4.9' into stable-4.10Matthias Sohn2019-09-035-271/+165
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.9: BatchRefUpdate: repro racy atomic update, and fix it Delete unused FileTreeIteratorWithTimeControl Fix RacyGitTests#testRacyGitDetection Change RacyGitTests to create a racy git situation in a stable way Silence API warnings Change-Id: Id5bf44645655fca40ad22bb1f1ad20a7c2e8f6db Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * BatchRefUpdate: repro racy atomic update, and fix itHan-Wen Nienhuys2019-09-032-60/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PackedBatchRefUpdate was creating a new packed-refs list that was potentially unsorted. This would be papered over when the list was read back from disk in parsePackedRef, which detects unsorted ref lists on reading, and sorts them. However, the BatchRefUpdate also installed the new (unsorted) list in-memory in RefDirectory#packedRefs. With the timestamp granularity code committed to stable-5.1, we can more often accurately decide that the packed-refs file is clean, and will return the erroneous unsorted data more often. Unluckily timed delays also cause the file to be clean, hence this problem was exacerbated under load. The symptom is that refs added by a BatchRefUpdate would stop being visible directly after they were added. In particular, the Gerrit integration tests uses BatchRefUpdate in its setup for creating the Admin group, and then tries to read it out directly afterward. The tests recreates one failure case. A better approach would be to revise RefList.Builder, so it detects out-of-order lists and automatically sorts them. Fixes https://bugs.eclipse.org/bugs/show_bug.cgi?id=548716 and https://bugs.chromium.org/p/gerrit/issues/detail?id=11373. Bug: 548716 Change-Id: I613c8059964513ce2370543620725b540b3cb6d1 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | | | | * Delete unused FileTreeIteratorWithTimeControlMatthias Sohn2019-09-032-177/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only usage of this test iterator was removed in df637928d. Hence delete this iterator and associated test. Change-Id: I47710133ec3edc675c21db210960c024982668c6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> (cherry picked from commit a024759cf5bf1cd6b9beb4f790d484943761a7e1)
| | | | | | * Fix RacyGitTests#testRacyGitDetectionMatthias Sohn2019-09-031-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test case assumed file system timestamp resolution of 1 second. On filesystems with a finer resolution this test fails since the index entry is only smudged if the file index entry's lastModified and the lastModified of the git index itself are within the same filesystem timer tick. Fix this by ensuring that these timestamps are identical which should work for any filesystem timer resolution. Bug: 548188 Change-Id: Id84d59e1cfeb48fa008f8f27f2f892c4f73985de Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> (cherry picked from commit 1159f9dd7c80a53c2509cd75d997a6afed37f9a6)
| | | | | | * Change RacyGitTests to create a racy git situation in a stable wayMasaya Suzuki2019-09-031-25/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using File#setLastModified, we can create a racy git situation stably. Tested with --runs_per_test=100 Bug: 526111 Change-Id: I60b3632d353e19f335668325aa603640be423f58 Signed-off-by: Masaya Suzuki <masayasuzuki@google.com> (cherry picked from commit df637928d2ef4b9ee06af7e37344c7848f870ce4)
| | | | | | * Silence API warningsMatthias Sohn2019-09-031-8/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I27fd62de51ca0eedcc7e2e256487bda1e18bce8a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | Merge branch 'stable-5.2' into stable-5.3Jonathan Nieder2019-08-293-60/+166
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Return a new instance from openSystemConfig and openUserConfig Change-Id: I6491549ab13aad2a4c3f8444a090a94a378eccdb Signed-off-by: Jonathan Nieder <jrn@google.com>
| * | | | | | Merge branch 'stable-5.1' into stable-5.2Jonathan Nieder2019-08-293-61/+167
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Return a new instance from openSystemConfig and openUserConfig Change-Id: I93afa16b14e3e2d127705e3378fb703d6c329694 Signed-off-by: Jonathan Nieder <jrn@google.com>
| | * | | | | Return a new instance from openSystemConfig and openUserConfigMatthias Sohn2019-08-304-61/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the handling of cached user and system config to getSystemConfig and getUserConfig methods and revert the implementation of openSystemConfig and openUserConfig to the old stateless implementation. This ensures the open methods respect the passed-in parent config, which may be different on each invocation. Additionally, returning a new instance matches the behavior of the previous implementation of the default system reader, which downstream callers may be depending on. Move the implementation of the new caching methods getSystemConfig and getUserConfig up to SystemReader. This avoids that we break the ABI for subclasses of SystemReader. Also see [1] which fixed a similar problem with Gerrit's custom SystemReader. [1] https://gerrit-review.googlesource.com/c/gerrit/+/225458 Change-Id: If54a2491932d8fc914d4649cb73c9e837c5b8ad0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | Prepare 5.3.5-SNAPSHOT buildsMatthias Sohn2019-08-2371-427/+445
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic0b9dfcac814ac7584e5eb19105f46344a10465a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | JGit v5.3.4.201908231101-rv5.3.4.201908231101-rMatthias Sohn2019-08-2368-89/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia98f47d9a10d6b8cccca6b697230dad4f350d720 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2019-08-235-28/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Prepare 5.1.11-SNAPSHOT builds JGit v5.1.10.201908230655-r Use AtomicReferences to cache user and system level configs Fix copy-paste typo in CloneCommand#cleanup Change-Id: I3ababc0f9b540cf1785925395d32a85d30aed40d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | | | | Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2019-08-232-25/+24
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Prepare 5.1.11-SNAPSHOT builds JGit v5.1.10.201908230655-r Use AtomicReferences to cache user and system level configs Fix copy-paste typo in CloneCommand#cleanup Change-Id: Ie383633de334e65901ed4c6deb2d59cfcce98e16
| | * | | | | Prepare 5.1.11-SNAPSHOT buildsMatthias Sohn2019-08-2359-362/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8608580424d0e523dcace63f83ae530ba78dbb15 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | JGit v5.1.10.201908230655-rv5.1.10.201908230655-rMatthias Sohn2019-08-2356-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I68d15ebd6054bdeaf62e14cddb87724828db7943 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Use AtomicReferences to cache user and system level configsMatthias Sohn2019-08-231-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures that only one instance of user and one instance of system config is set. Change-Id: Idd00150f91d2d40af79499dd7bf8ad5940f87c4e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix copy-paste typo in CloneCommand#cleanupAdrien Bustany2019-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deleteChildren was called on directory instead of gitDir, leading to a potential null pointer exception if the git directory existed initially. Bug: 550340 Change-Id: Iafc3b2961253a99862a59e81c7371f7bc564b412 Signed-off-by: Adrien Bustany <adrien-xx-eclipse@bustany.org>
* | | | | | | SystemReader: Use correct constructor of FileBasedConfigDavid Pursehouse2019-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The merge done in change If0c5010a2 resolved a conflict incorrectly and reverted the fix that was done in change Id0bcdc93b. Change-Id: I0f5fde33d1f366817f2b966eb42535f7bd3b063e Reported-by: Thomas Wolf <thomas.wolf@paranor.ch> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | | | | | | Prepare 5.3.4-SNAPSHOT buildsMatthias Sohn2019-08-2168-427/+427
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1ccfeb28e87d13b25a8892947e62f1151130b6a6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | JGit v5.3.3.201908210735-rv5.3.3.201908210735-rMatthias Sohn2019-08-2168-89/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I799859e47616af0ac5ee3a982cb9350d141681d7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2019-08-213-8/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Add missing @since tag on FileTreeIterator#getLastModifiedInstant Prepare 5.1.10-SNAPSHOT builds JGit v5.1.9.201908210455-r Avoid sign extension when comparing mtime with Instant#getEpochSecond Fix deprecation in DirCache caused by Instant based DirCacheEntry Change-Id: If6d5f4dfd9fc8e8c09e29aa11b1004057eafeb9f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | | | | Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2019-08-213-8/+9
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Add missing @since tag on FileTreeIterator#getLastModifiedInstant Prepare 5.1.10-SNAPSHOT builds JGit v5.1.9.201908210455-r Avoid sign extension when comparing mtime with Instant#getEpochSecond Fix deprecation in DirCache caused by Instant based DirCacheEntry Change-Id: Id824c0b8b14dad5947ae9da1f90c3471e07b400f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Add missing @since tag on FileTreeIterator#getLastModifiedInstantMatthias Sohn2019-08-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I809399e6a71e0079d2f0007b0d3f00b531d451bb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Prepare 5.1.10-SNAPSHOT buildsMatthias Sohn2019-08-2159-362/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If10afc8e663299a15db8c5fd0574fb51bf7e7ae9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | JGit v5.1.9.201908210455-rv5.1.9.201908210455-rMatthias Sohn2019-08-2156-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaade207292acb8b27e01aca7e1af97ad7db1e854 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Avoid sign extension when comparing mtime with Instant#getEpochSecondMatthias Sohn2019-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure we use the same type when comparing seconds since the epoch. This does not prevent that in 2038 timestamps in seconds since the epoch stored in a 32 bit integer will overflow. Integer.MAX_VALUE translates to 2038-01-19T03:14:07Z. After this date we'll have an issue since we store seconds since the epoch in a 32 bit integer in some places. Bug: 319142 Change-Id: If0c03003d40b480f044686e2f7a2f62c9f4e2fe1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix deprecation in DirCache caused by Instant based DirCacheEntryMichael Keppler2019-08-211-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the two int variables smudge_s and smudge_ns by an Instant and use the new method DirCacheEntry.mightBeRacilyClean(Instant). Change-Id: Id70adbb0856a64909617acf65da1bae8e2ae934a Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2019-08-1949-383/+754
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Fix NPE in RebaseTodoFile#parseComments Fix NPE in ObjectIdOwnerMap#get Fix NPE in CommitOnlyTest#getHead FileUtils#lastModifiedInstant should not log error if path doesn't exist Cache user global and system-wide git configurations Avoid setup and saving FileStoreAttributes compete for ~/.gitconfig lock Add missing dependencies for running FS_POSIXTest in Eclipse Fix javadoc for SystemReader#getInstance Improve retry handling when saving FileStoreAttributes fails Ensure FSTest uses MockSystemReader Make supportsAtomicCreateNewFile return true as default Update orbit to R20190602212107-2019-06 to enable backports from master Handle InvalidPathException in FS_POSIX#createNewFileAtomic Ensure root cause of lock creation failures is logged Implement toString in MockSystemReader and MockConfig LocalDiskRefTreeDatabaseTest shall use MockSystemReader Ensure LocalDiskRepositoryTestCase#setup fully uses MockSystemReader Ensure we use MockSystemReader in tests Override FileBasedConfig's save method in MockConfig Remove FileBasedConfig.load(boolean) introduced in d45219ba Disable debug log for FS in org.eclipse.jgit.test Bazel: enable logging for tests in org.eclipse.jgit.test LockFile: log exception if creation of lock file failed Stop using deprecated Constants.CHARACTER_ENCODING Change-Id: If0c5010a2cf151ebebb2f2088fac3ee02c5007b9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | | | | Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2019-08-1949-398/+760
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Fix NPE in RebaseTodoFile#parseComments Fix NPE in ObjectIdOwnerMap#get Fix NPE in CommitOnlyTest#getHead FileUtils#lastModifiedInstant should not log error if path doesn't exist Cache user global and system-wide git configurations Avoid setup and saving FileStoreAttributes compete for ~/.gitconfig lock Add missing dependencies for running FS_POSIXTest in Eclipse Fix javadoc for SystemReader#getInstance Improve retry handling when saving FileStoreAttributes fails Ensure FSTest uses MockSystemReader Make supportsAtomicCreateNewFile return true as default Update orbit to R20190602212107-2019-06 to enable backports from master Handle InvalidPathException in FS_POSIX#createNewFileAtomic Ensure root cause of lock creation failures is logged Implement toString in MockSystemReader and MockConfig LocalDiskRefTreeDatabaseTest shall use MockSystemReader Ensure LocalDiskRepositoryTestCase#setup fully uses MockSystemReader Ensure we use MockSystemReader in tests Override FileBasedConfig's save method in MockConfig Remove FileBasedConfig.load(boolean) introduced in d45219ba Disable debug log for FS in org.eclipse.jgit.test Bazel: enable logging for tests in org.eclipse.jgit.test LockFile: log exception if creation of lock file failed Stop using deprecated Constants.CHARACTER_ENCODING Change-Id: I48c585f3c9287be7d6ddb6b01a1955444e13fa31 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix NPE in RebaseTodoFile#parseCommentsMatthias Sohn2019-08-191-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5487f3c2609eaf2a0ddf71ebb2f6c9701fb7600c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix NPE in ObjectIdOwnerMap#getMatthias Sohn2019-08-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3812961a27ac410d610ef50c73a28f21bb05ae79 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix NPE in CommitOnlyTest#getHeadMatthias Sohn2019-08-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I05abd00d151cf9834d1a097dd16dc280b62a7edd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | FileUtils#lastModifiedInstant should not log error if path doesn't existMatthias Sohn2019-08-181-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id8447735beb24becb41612d3d29d5351f8273d22 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Cache user global and system-wide git configurationsMatthias Sohn2019-08-1816-227/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the git configuration and the system wide git configuration were always reloaded when jgit accessed these global configuration files to access global configuration options which are not in the context of a single git repository. Cache these configurations in SystemReader and only reload them if their file metadata observed using FileSnapshot indicates a modification. Change-Id: I092fe11a5d95f1c5799273cacfc7a415d0b7786c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | * | | | | Avoid setup and saving FileStoreAttributes compete for ~/.gitconfig lockMatthias Sohn2019-08-161-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FS determines FileStore attributes in a background thread and tries to save the results to the global git configuration. This competed with LocalDiskRepositoryTestCase#setup trying to save changes to the same file requiring the same lock. This frequently led to one of the threads failing to acquire the lock. Fix this by first initiating determination of FileStore attributes which then uses a MockSystemReader not using a userConfig stored to disk which avoids this race for the lock. Change-Id: I30fcd96bc15100f8ef9b2a9eb3320bb5ace97c67 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Add missing dependencies for running FS_POSIXTest in EclipseMatthias Sohn2019-08-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I35fcdfab55ff02943f6185b232e01ce9cfe151a9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Fix javadoc for SystemReader#getInstanceMatthias Sohn2019-08-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing javadoc was copied from another method and not adapted. Change-Id: I39a7e5d719b2c379de9bd1a4710a55a73700c6f0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | | | Improve retry handling when saving FileStoreAttributes failsMatthias Sohn2019-08-133-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix handling of interrupts in FileStoreAttributes#saveToConfig - increase retry wait time to 100ms - don't wait after last retry - dont retry if failure is caused by another exception than LockFailedException Change-Id: I108c012717d2bcce71f2c6cb9cf0879de704ebc2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>