[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jgit-dev] EGit Bug#356832 Allow use of external mergetool
|
Hi JGit developers,
I want to contribute some groundwork for EGit Bug#356832 (Allow use of external mergetool).[1] In the discussion on Bugzilla it emerged that basic support for an external diff/merge tool should be provided in JGit, and then just called from EGit.
Basically, I think this means that JGit should support the external diff/merge tool functionality that the native git client also supports, including the config entry 'diff.external' and the GIT_EXTERNAL_DIFF environment variable, and the git difftool command. (Similarly for mergetool.) Once all this is in place, EGit can call the equivalent of 'git difftool --gui' on JGit (and perhaps also be a nice frontend for the relevant config settings). Does this strategy make sense?
As a first step, I have implemented support for the 'diff.external' config option and GIT_EXTERNAL_DIFF, here:
https://git.eclipse.org/r/#/c/100521/ Config setting 'external' in diff section
https://git.eclipse.org/r/#/c/100522/ Call external command from git diff with git standard parameters
https://git.eclipse.org/r/#/c/100523/ Support GIT_EXTERNAL_DIFF environment variable
If either the env variable or the config entry is present, JGit calls the configured external program with the standard parameters.[2,3] I have aimed at re-using as much existing JGit infrastructure as possible (DiffConfig, FS).
Could you have a look? Is there anything else I need to provide to get the review process going? Thanks for any pointers/feedback!
Best,
Leif
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=356832
[2] https://git-scm.com/docs/git-config#git-config-diffexternal
[3] https://git-scm.com/docs/git#git-codeGITEXTERNALDIFFcode