GumTreeDiff / gumtree

An awesome code differencing tool
https://github.com/GumTreeDiff/gumtree/wiki
GNU Lesser General Public License v3.0
933 stars 174 forks source link

Problem with Git integration on windows #249

Open csiefer2 opened 3 years ago

csiefer2 commented 3 years ago

Gumtree using git difftool integration described here, only lists one file at a time through the list page, http://127.0.0.1:4567/list .

Is there some way to get it to list all the files which have been modified in the repo changes?

jrfaller commented 3 years ago

Hi Chris!

Normally listing all file changes is the behavior of the list view. Do you use the -d option ? Make a screenshot perhaps.

Cheers.

csiefer2 commented 3 years ago

I forgot the -d option, but when I add it, I get a temp directory errors when I add it.

If I'm using the Windows command prompt or cygwin , I get something like this:

java.nio.file.FileSystemException:  C:\cygwin64\tmp\git-difftool.fROKIR\r: The file cannot be accessed by the system

Windows tells me that the file is there, but it is zero bytes in size. Notepad cannot open it.

jrfaller commented 3 years ago

Mmm this one looks like a Windows bug, i'll try to gain access to a windows machine to reproduce, but maybe the way I deal with temporary files is broken on Windows (which is odd because I use the standard library for this)

jrfaller commented 3 years ago

Could you check if the path is correct and the file is readable?

csiefer2 commented 3 years ago

The file does exist, but it isn't a file, rather a Windows Junction point (which is evidently kind of like a symbolic link). Unfortunately, the link doesn't point to anywhere, which is what I think the problem is.

jrfaller commented 3 years ago

Could you look if it exists when GumTree is executing?

csiefer2 commented 3 years ago

Any good idea how to check that? The file doesn't exist before GumTree starts, and by the time I can find out where the temporary file is generated, GumTree has already crashed.

jrfaller commented 3 years ago

mmm good point ;)