Git has config settings to choose what tool to use for diff and merge, but Defold ignores them. In both my global git config and local Defold repo config I have:
[diff]
tool = p4merge
[difftool "p4merge"]
path = D:\\Program Files\\Perforce\\p4merge.exe
[merge]
tool = p4merge
[mergetool "p4merge"]
path = D:\\Program Files\\Perforce\\p4merge.exe
If I open the command line and run git difftool
it will open P4Merge as desired, but if I click the Diff button in Defold it always uses the Defold diff tool.
Some of the most important features that Perforce’s P4Merge tool has that Defold’s diff tool is lacking:
- Proper diff scrolling (dark is Defold, light is P4Merge). The light version is much easier to understand
- Buttons to jump between changes
- Line numbers
- Settings to ignore whitespace differences
- Image diffs
I work alone and don’t use branches so I haven’t had to use Defold’s merge tool (I assume there is one?). I would wager there are features that much more established tools such as P4Merge have that would make using a custom merge tool just as useful as a custom diff tool.
Also, clicking the Diff button in Defold is always terrifying because right next to it is the Revert button which immediately destroys potentially hours or days of work without popping up a confirmation window. Misclicks are disastrous. Revert should really require confirmation, at least as an option in the preferences. Speaking of the preferences, that would be a great place to let us define custom diff and merge tools.