]> source.dussan.org Git - jgit.git/commit
Cygwin expects forward slashes for commands to be run via sh.exe 38/158538/2
authorThomas Wolf <thomas.wolf@paranor.ch>
Thu, 27 Feb 2020 19:04:47 +0000 (20:04 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Fri, 28 Feb 2020 22:18:23 +0000 (17:18 -0500)
commit6f268f8cebbc53a9810f0fe6ca1a961a32d8b074
tree4e7426b050eb162d3e0b15ce572d9941fe65cc36
parent14a157dff66280944694ce27c1a5124a7f37e344
Cygwin expects forward slashes for commands to be run via sh.exe

FS_Win32_Cygwin replaces backslashes by / as a side-effect of
relativize(). When support for core.hooksPath was added, paths were
relativized in a different place using Path.resolve(), which doesn't
do that transformation. As a result hooks could not be run on Cygwin
in some cases.

Do the transformation in FS_Win32_Cygwin.runInShell(). In all other
places, File or Path objects are used, which give no guarantee about
the file separator (typically the system-dependent default separator),
so doing the transformation earlier still wouldn't guarantee that
sh.exe indeed gets a command string using forward slashes.

Bug: 558577
Change-Id: I3c07eb85f0ac7c5628a2e92f990e5cdb7ecf532f
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32_Cygwin.java