-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Git 2.29.2 difftool no longer working #2893
Comments
Have you looked whether the log produced with |
I've installed 2.28.0, but when I get a chance, I'll re-install 2.29.2 and run again with GIT_TRACE. |
FWIW if you want to keep your v2.28.0 but just want to run the test I asked for with v2.29.2, you can install a Portable Git (which will not overwrite your existing installation). |
Good suggestion! Results are inconclusive - I can't see any smoking gun in the trace logs. Installed 2.28.0 works with: git difftool -d HEAD~1 |
Okay, I think I know what is going on: 83bbf9b, contributes via https://lore.kernel.org/git/[email protected]/, broke it. Basically, it overrides the user setup because diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index 2defef28cd93..7225abd81122 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -138,6 +138,10 @@ setup_user_tool () {
merge_cmd () {
( eval $merge_tool_cmd )
}
+
+ list_tool_variants () {
+ echo "$tool"
+ }
}
setup_tool () { If you get a chance, would you mind making that change manually (by editing I will try to get this patch into a mergeable and submittable form in the meantime. |
As of 83bbf9b (mergetool--lib: improve support for vimdiff-style tool variants, 2020-07-29), we already list `bc` and `bc3` as aliases for that mergetool/difftool. However, the current Beyond Compare version is _4_, therefore the `bc4` alias is missing from that list. Most notably, this is the root cause of the breakage reported in git-for-windows#2893 where a well-configured `bc4` difftool stopped working as of v2.29.0: `setup_tool` would notice that after stripping off the trailing digit, it finds a match in `mergetools/` (the `bc` file), source it, and then the alias would not match the list offered by the `list_tool_variants` function, and simply exit without doing anything, but pretending success. Signed-off-by: Johannes Schindelin <[email protected]>
As of 83bbf9b (mergetool--lib: improve support for vimdiff-style tool variants, 2020-07-29), we already list `bc` and `bc3` as aliases for that mergetool/difftool. However, the current Beyond Compare version is _4_, therefore the `bc4` alias is missing from that list. Most notably, this is the root cause of the breakage reported in git-for-windows#2893 where a well-configured `bc4` difftool stopped working as of v2.29.0: `setup_tool` would notice that after stripping off the trailing digit, it finds a match in `mergetools/` (the `bc` file), source it, and then the alias would not match the list offered by the `list_tool_variants` function, and simply exit without doing anything, but pretending success. Signed-off-by: Johannes Schindelin <[email protected]>
If you get a chance, would you mind making that change manually (by editing I made the edit (using portable git) and I can confirm this fixes the issue! Yay! |
Good, thanks for testing! |
As of 83bbf9b (mergetool--lib: improve support for vimdiff-style tool variants, 2020-07-29), we already list `bc` and `bc3` as aliases for that mergetool/difftool. However, the current Beyond Compare version is _4_, therefore the `bc4` alias is missing from that list. Most notably, this is the root cause of the breakage reported in git-for-windows#2893 where a well-configured `bc4` difftool stopped working as of v2.29.0: `setup_tool` would notice that after stripping off the trailing digit, it finds a match in `mergetools/` (the `bc` file), source it, and then the alias would not match the list offered by the `list_tool_variants` function, and simply exit without doing anything, but pretending success. Signed-off-by: Johannes Schindelin <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
Beyond Compare 4 [can be configured as difftool `bc4` again](git-for-windows/git#2893). Signed-off-by: Johannes Schindelin <[email protected]>
Setup
defaults?
to the issue you're seeing?
I am trying to invoke BeyondCompare with git difftool -d HEAD~1
Section in ~/.gitconfig is:
Note, this WORKS when I downgrade to git 2.28.0, and there are no other changes.
Details
Bash
Minimal, Complete, and Verifiable example
this will help us understand the issue.
I expected BeyondCompare to launch, showing the differences between working dir and previous commit.
There is a slight delay, then nothing happens and I'm back to the shell prompt.
URL to that repository to help us with testing?
Tried many different repo, I can reproduce on any of them.
I have reproduced this issue on two different Windows 10 systems.
Current workaround is to use git 2.28.0.
The text was updated successfully, but these errors were encountered: