threads / discuss / 13773

External diff viewer and stage/merge tool and git-gui?

Subject: External diff viewer and stage/merge tool and git-gui?

## tl;dr

3 messages between Jun 3, 2008 and Jun 3, 2008.

replies: 2people: 2as markdown or json

Peter Karlsson· Jun 3, 2008, 07:24 UTC · lore
Hi!

As I continue to introduce Git at my workplace, I got the question on how to integrate external diff tools with Git. I figured out a way to get it to work with the command-line "git-diff", by setting GIT_EXTERNAL_DIFF and hacking together a small batch file (yeah, this is on Windows) that opens the diff in the viewer. For myself, I would like to use tkdiff, whereas the rest of the team is used to another side-by-side diff viewer.

However, I cannot seem to find a way to do it from git-gui, which is the tool I have taught the rest of the team to use as their primary interface. Is there a way to view the currently selected difference in an external diff viewer?

Even better would be a way to allow that external tool to edit what is to be staged - we are having some problems with version-controlling sources in some of Borland's tools which have the bad habit of storing local configuration in the project files, and git-gui's "hunk" picker cannot be used to pick the relevant changes (we have to set "show less differences" to the lowest value to get a proper hunk view, and then git-gui cannot stage anything).

-- 
\\// Peter - http://www.softwolves.pp.se/
David Aguilar· Jun 3, 2008, 10:56 UTC · re: Peter Karlsson · lore

Re: External diff viewer and stage/merge tool and git-gui?

On Tue, Jun 3, 2008 at 12:24 AM, Peter Karlsson <peter@softwolves.pp.se> wrote:
Show 9 quoted lines
> Hi!
>
> As I continue to introduce Git at my workplace, I got the question on
> how to integrate external diff tools with Git. I figured out a way to
> get it to work with the command-line "git-diff", by setting
> GIT_EXTERNAL_DIFF and hacking together a small batch file (yeah, this
> is on Windows) that opens the diff in the viewer. For myself, I would
> like to use tkdiff, whereas the rest of the team is used to another
> side-by-side diff viewer.
Have you taken a look at ugit?

http://repo.or.cz/w/ugit.git (requires the latest GitPython http://gitorious.org/projects/git-python/)

It can launch external diff tools. It also has a very fine diff gui. You can either select the entire diff hunk or, if you need to be more precise, drill down to specific lines from a diff.

If the built-in diff selection doesn't suffice just right-click in the modified files section where there's an option to send the diff to a diff editor. You can define that to be tkdiff, xxdiff, etc.

-- 
 David
Peter Karlsson· Jun 3, 2008, 13:40 UTC · re: David Aguilar · lore

Re: External diff viewer and stage/merge tool and git-gui?

David Aguilar:
> Have you taken a look at ugit?

Tried to now, but can't get it to quite work due to dependencies of dependencies[1]. And is it possible to install it on a Windows box without Cygwin?

-- 
\\// Peter - http://www.softwolves.pp.se/

 [1] GitPython install failes with "ImportError: No module named ez_setup"

← back to recent threads