3 ms·
Seconding the use of p4merge for easy-to-use three-pane merging. Just like most other issues with Git, if your merges are painful it's probably due to terrible
by crote 7mo ago
Seconding the use of p4merge for easy-to-use three-pane merging. Just like most other issues with Git, if your merges are painful it's probably due to terrible native UX design - not due to anything conceptually wrong with Git.
- TacticalCoder 7mo agoThirding it except I do it from Emacs. Three side-by-side pane with left / common ancestor / right and then below the merge result. By default it's not like that but then it's Emacs so anything is doable. I hacked some elisp code a great many years ago and I've been using it ever since. No matter the tool, merges should always be presented like that. It's the only presentation that makes sense.
- MarsIronPI 7mo agoWhat tool do you use? Does Magit support it natively?
- skydhash 7mo agoI think you need to enable 3 way merge by default in git's configuration, and both smerge (minor mode for solving conflicts) and ediff (major mode that encompass diff and patch) will pick it up. In the case of the latter you will have 4 panes, one for version A, another for version B, a third for the result C, and the last is the common ancestor of A and B. Addendum: I've since long disabled it. A and B changes are enough for me, especially as I rebase instead of merging.
- jwr 7mo agoIsn't that what ediff does?
- arikrahman 7mo agoThe extensibility provided with Emacs Lisp has been helpful for hacking together my own Git/Jujutsu plugin. I tried to model it over lazygit/lazyjj although magit has been incredible to use and hard to depart from.
- roryokane 7mo agoDid you know that VS Code added support for the same four-pane view as p4merge years ago? I used p4merge as my merge tool for a long time, but I switched to VS Code when I discovered that, as VS Code’s syntax highlighting and text editing features are much better than p4merge’s. I also use the merge tool of JetBrains IDEs such as IntelliJ IDEA (https://www.jetbrains.com/help/idea/resolve-conflicts.html#resolve-conflicts-productivity-tips https://www.jetbrains.com/help/idea/resolve-conflicts.html#r...) when working in those IDEs. It uses a three-pane view, not a four-pane view, but there is a menu that allows you to easily open a comparison between any two of the four versions of the file in a new window, so I find it similarly efficient.
- stbtrax 7mo agohow do you set that up? the default git tool version seems to be 3 pane
- ramchip 7mo agoLooks like it's "Show Base" under the top-level "..." menu when working on a merge conflict https://github.com/microsoft/vscode/issues/155277#issuecomment-1283623303 https://github.com/microsoft/vscode/issues/155277#issuecomme...