Open Skips75 opened 1 year ago
I can not reproduce the issue. It's working in my system. I have added the following two options only.
git config --local diff.tool meld
git config --local difftool.prompt false
It seems some path issues in your case. Try to use the msys2 installer from here https://www.msys2.org/
Here other info that could be useful to analyze the problem:
echo $PATH | tr ':' '\n'
outputs the following:
/ucrt64/bin
/usr/local/bin
/usr/bin
/bin
/c/Windows/System32
/c/Windows
/c/Windows/System32/Wbem
/c/Windows/System32/WindowsPowerShell/v1.0/
/usr/bin/site_perl
/usr/bin/vendor_perl
/usr/bin/core_perl
I also installed (always via scoop package management) meld outside the
MSYS2/UCRT64_ environment (via scoop install meld
command) and it
perfectly works.
What is the output of this command? cygpath -w $(which meld)
cygpath -w $(which meld)
outputs:
D:\scoopapp\apps\msys2\2023-05-26\ucrt64\bin\meld
path to long maybe ?
@revelator Path to long?! Its size it's only 50 characters.. I don't think...
BTW, if could be useful to someone here are the packages installed on the
machine where I have the problem, retrieved via the pacman -Qne
command:
autoconf-wrapper 20221207-1
autoconf2.69 2.69-3
automake-wrapper 20221207-1
automake1.15 1.15.1-4
autotools 2022.01.16-2
base 2022.06-1
base-devel 2022.12-2
cmatrix 2.0-1
filesystem 2023.02.07-1
git 2.42.0-2
git-flow 1.12.3-1
libiconv-devel 1.17-1
man-db 2.11.2-1
mingw-w64-ucrt-x86_64-arm-none-eabi-gcc 12.2.0-1
mingw-w64-ucrt-x86_64-arm-none-eabi-gdb 9.2-8
mingw-w64-ucrt-x86_64-binutils 2.41-2
mingw-w64-ucrt-x86_64-ca-certificates 20230311-1
mingw-w64-ucrt-x86_64-cmake 3.27.4-2
mingw-w64-ucrt-x86_64-cppcheck 2.11.1-1
mingw-w64-ucrt-x86_64-crt-git 11.0.0.r159.g0605217f5-1
mingw-w64-ucrt-x86_64-fzf 0.42.0-1
mingw-w64-ucrt-x86_64-gcc 13.2.0-2
mingw-w64-ucrt-x86_64-gcc-ada 13.2.0-2
mingw-w64-ucrt-x86_64-gcc-fortran 13.2.0-2
mingw-w64-ucrt-x86_64-gcc-libgfortran 13.2.0-2
mingw-w64-ucrt-x86_64-gcc-objc 13.2.0-2
mingw-w64-ucrt-x86_64-gdb 13.2-3
mingw-w64-ucrt-x86_64-gdb-multiarch 13.2-3
mingw-w64-ucrt-x86_64-github-cli 2.34.0-1
mingw-w64-ucrt-x86_64-headers-git 11.0.0.r159.g0605217f5-1
mingw-w64-ucrt-x86_64-libgccjit 13.2.0-2
mingw-w64-ucrt-x86_64-libmangle-git 11.0.0.r159.g0605217f5-1
mingw-w64-ucrt-x86_64-make 4.4-2
mingw-w64-ucrt-x86_64-meld3 3.22.0-2
mingw-w64-ucrt-x86_64-oh-my-posh 18.7.0-1
mingw-w64-ucrt-x86_64-pkgconf 1~2.0.3-1
mingw-w64-ucrt-x86_64-putty 0.79-1
mingw-w64-ucrt-x86_64-ruby 3.1.3-2
mingw-w64-ucrt-x86_64-tools-git 11.0.0.r159.g0605217f5-1
mingw-w64-ucrt-x86_64-universal-ctags 6.0.0-1
mingw-w64-ucrt-x86_64-winpthreads-git 11.0.0.r159.g0605217f5-1
mingw-w64-ucrt-x86_64-winstorecompat-git 11.0.0.r159.g0605217f5-1
msys2-runtime 3.4.9-1
procps-ng 3.3.17-1
python 3.11.5-1
ruby 3.2.2-1
tcl 8.6.12-3
tig 2.5.8-1
tmux 3.3.a-1
unzip 6.0-2
vifm 0.12.1-1
vim 9.0.1403-2
vimpager 2.06-1
zip 3.0-3
Also the problems arise simply launching meld
:
Traceback (most recent call last):
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/bin/meld", line 463, in <module>
sys.exit(main())
^^^^^
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/bin/meld", line 453, in main
setup_logging()
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/bin/meld", line 333, in setup_logging
handler = logging.FileHandler(log_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/lib/python3.11/logging/__init__.py", line 1181, in __init__
StreamHandler.__init__(self, self._open())
^^^^^^^^^^^^
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/lib/python3.11/logging/__init__.py", line 1213, in _open
return open_func(self.baseFilename, self.mode,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 22] Invalid argument: 'D:/scoopapp/apps/msys2/2023-05-26/mingw64/share/;D:/scoopapp/apps/msys2/2023-05-26/usr/local/share/;D:/scoopapp/apps/msys2/2023-05-26/usr/share/meld.log'
Description / Steps to reproduce the issue
MSYS2 version 2023-05-26 is installed on a Win10 64-bit Professional edition computer by means of scoop installer. In MSYS2 console installed via pacman the latest UCRT64 meld program. Output of
git config --local --list
(omitted other settings that are not concerned with meld):diff.tool=meld
diff.guitool=meld
difftool.prompt=false
difftool.tool=meld
difftool.guitool=meld
difftool.path=/ucrt64/bin/meld
difftool.cmd=meld "$LOCAL" "$REMOTE"
difftool.meld.path=/ucrt64/bin/meld
difftool.meld.cmd=/ucrt64/bin/meld $LOCAL $REMOTE
merge.tool=meld
merge.guitool=meld
mergetool.meld.path=D:/scoopapp/apps/msys2/current/ucrt64/bin/meld
mergetool.meld.cmd="D:/scoopapp/apps/msys2/current/ucrt64/bin/meld" "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
Expected behavior
When I throw a
git difftool -- .
to view my local changes not yet committed I would expect to see meld graphic tool opens.Actual behavior
Instead what I see are the following error printouts:
Traceback (most recent call last):
File "D:\scoopapp\apps\msys2\2023-05-26\ucrt64\bin\meld", line 463, in <module>
sys.exit(main())
File "D:\scoopapp\apps\msys2\2023-05-26\ucrt64\bin\meld", line 453, in main
setup_logging()
File "D:\scoopapp\apps\msys2\2023-05-26\ucrt64\bin\meld", line 333, in setup_logging
handler = logging.FileHandler(log_path)
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/lib/python3.10/logging/__init__.py", line 1169, in __init__
StreamHandler.__init__(self, self._open())
File "D:/scoopapp/apps/msys2/2023-05-26/ucrt64/lib/python3.10/logging/__init__.py", line 1201, in _open
return open_func(self.baseFilename, self.mode,
OSError: [Errno 22] Invalid argument: 'D:/scoopapp/apps/msys2/2023-05-26/mingw64/share/;D:/scoopapp/apps/msys2/2023-05-26/usr/local/share/;D:/scoopapp/apps/msys2/2023-05-26/usr/share/meld.log'
for every changed file.
Verification
Windows Version
MINGW64_NT-10.0-19045
MINGW environments affected
Are you willing to submit a PR?
No response