]> source.dussan.org Git - jgit.git/commit
ObjectDirectory: avoid using File.getCanonicalPath() 86/195186/8
authorJörg Kubitz <jkubitz-eclipse@gmx.de>
Mon, 15 Aug 2022 09:05:04 +0000 (11:05 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Thu, 22 Sep 2022 08:48:50 +0000 (10:48 +0200)
commit2021ce3423a7db6949b9e0a71a8c15e5826ccc4c
treea0776760a70f3a90c66accf7a4a4bcb158ac3434
parenteb5124c74f9bcdedc8492a8c1eddc734adfb7226
ObjectDirectory: avoid using File.getCanonicalPath()

On java 17 + Windows OS java.io.File.getCanonicalPath is a very slow
system call which uses most time during clone.

That is since JDK 12 the result of File.getCanonicalPath is not cached
anymore by default:
https://bugs.openjdk.java.net/browse/JDK-8207005

* Use toRealPath() to follow symbolic links also on windows.
* Cache the result.

Bug: 580568
Change-Id: I95f4f5b2babefd7210ee4740646230225ebf3788
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java