[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jgit-dev] EGit Bug#356832 Allow use of external mergetool
- From: Leif Frenzel <himself@xxxxxxxxxxxxxx>
- Date: Sun, 2 Jul 2017 18:39:56 +0200
- Delivered-to: firstname.lastname@example.org
- Dmarc-filter: OpenDMARC Filter v1.3.1 www.gunnarfrenzel.de 84A9D1D640A
Hi JGit developers,
I want to contribute some groundwork for EGit Bug#356832 (Allow use of external mergetool). 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!