Re: [PATCH v2] mergetools: add winmerge as a builtin tool
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 13, 2015, 15:22 UTC
- Message-ID
- <3d7e3b09b89c46c39befca7564f5c1d6@www.dscho.org>
- In-Reply-To
- <55534F4E.60402@gmail.com>
Hi,
On 2015-05-13 15:19, Sebastian Schuberth wrote:
Show 10 quoted lines
> On 13.05.2015 04:00, David Aguilar wrote: > >> + if test -n "$ProgramW6432" && test -x "$ProgramW6432/$winmerge_exe" >> + then >> + printf '%s' "$ProgramW6432/$winmerge_exe" > > I don't think it makes sense to check "$ProgramW6432". The content of > that variable depends on the bitness of the process requesting the > environment. Just checking "$PROGRAMFILES" and "$PROGRAMFILES(X86)" > should be sufficient and more clear.
In my tests, "$PROGRAMFILES(X86)" did *not* work:
$ echo "$PROGRAMFILES(X86)"
bash: syntax error near unexpected token `('Show 6 quoted lines
> Also, note that you should use all upper case names when referring to > Windows environment variables. While it's true that on plain Windows > environment variable names are case-insensitive, MSYS1/2 converts all > variable names to upper case and *is* case sensitive. I.e. while "echo > $PROGRAMFILES" works as expected from a Git Bash on Windows, "echo > $ProgramFiles" results in an empty string.
Exactly. In my tests, "$ProgramW6432" worked, while "$PROGRAMW6432" did not.
FWIW I think that the idea to test for a WinMerge executable of another bitness makes sense, because we can execute an executable of another bitness (unlike a .dll of another bitness).
Ciao, Johannes