GNOME Bugzilla – Bug 789220
Windows installer doesn't actually install meld in a useful way (that is, working for git for windows with: git mergetool --tool=meld)
Last modified: 2017-12-13 19:29:08 UTC
The windows installer doesn't actually install meld in a useful way (that is, working for git for windows with: git mergetool --tool=meld) because it's not added to %PATH%. This means the user needs to manually fiddle with %PATH% after the install to be able to actually use it. Therefore, please fix the installer to properly add it to the %PATH% variable for the installing user.
Adding to path directoy with meld.exe is quite risky idea - it contains a lot of dlls with common names: python27.dll libwinpthread-1.dll libjpeg-8.dll libintl-8.dll libgio-2.0-0.dll And many others. Having all these in the path any lead to problems in other applications (even if adding to path would be manually enabled in the installer - selecting this option would lead to problems) A more safe alternative is adding some wrapper script in standalone Scripts subdirectory, but it isn't obvious how make this script compatible with git merge tool since it is executed from sh code and doesn't support wrapper named meld.cmd
Also, last time I checked, the different ways to invoke git on Windows had very different effects. I think we would have to check our handling of GUI launch vs. command line (i.e., cmd.exe) vs. unix shell (i.e., msys). Having said that, I completely agree that we should install such that it's available on the command line by default. As a thought that I haven't tested at all, might it be easier to just automatically add some git mergetool config instead of messing with %PATH%?
We could call git config during the installer (if there's a place to put that in cx_freeze), or edit the %USERPROFILE%\.gitconfig file. We'd probably have to assume we're working with Git for Windows and not Git in Cygwin (but that's probably reasonable).
Yeah, I'd be happy with either of those options as well. I haven't tested, but I assume that doing the former will correctly edit the system-wide config on a normal system install? I also don't know whether the current installer system (just Python's default MSI thing, really) has the hooks to do this, but I'm pretty sure it *doesn't* have the hooks to e.g., add a checkbox so that the user can opt out during install. This wouldn't be a blocker for me, but ideally we'd add it. Also, there's been talk in the past of moving away from the MSI installer, and I'm... probably more open to this than I have been previously.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/meld/issues/143.