|Re: [jgit-dev] FS_Win32_Cygwin instantiation|
Some of our users with Cygwin git installation have reported performance
problems, even if they are using msysgit.
The reason is that FS_Win32_Cygwin is always used if cygpath.exe is on
the path, even if our client makes sure that another git.exe is used.
I've performed a quick fix by introducing a system property to disallow
instantiation of FS_Win32_Cygwin. This works, but anyway I think a clean
solution would be to have the FS as a field in Repository, which is
propagated to relevant classes. As far as I could see these are not too
many. The field would default to current FS.INSTANCE and could be
overridden by a new constructor parameters (FS is used in the
constructor). FS.userHome() could be moved to some utility class FSUtils
to have usages of FS limited to its core functionality. I'm not sure if
there are other such singletons which could be converted to parameters.
In this case, an aggregating class GitEnvironment (or
RepositoryEnvironment) containing the FS would probably make sense.
Back to the top