Subject: Re: git gui: Possible to see which commands are executed?

From: "Shawn O. Pearce" <[email-masked]>
Date: Thu, 22 May 2008 19:05:45 -0400

Nigel Magnay <[email-masked]> wrote:
> 
> git-gui is good though - but there's a few things I wish it had. I
> often find the need to flip between git gui and gitk (for a 'where the
> heck am I at the moment' overview) - the 2 tools seems to confuse
> people coming at git, even given 'visualize branch'.

Yup.  I haven't tried to reimplement a visualizer in git-gui, nor
have I tried to embed gitk into git-gui.  Both would take a great
deal of work I think (though embedding gitk is likely easier) and I
just have too many things going on to pursue this myself.  If someone
showed patches for this, I'd definately try to get them included.

> It'd be nice to
> be able to add files / directories to .gitignore,

Always been a "wishlist" feature for git-gui.  Paul Mackerras' gitool
prototype (which is what seeded git-gui) had this feature, but it was
never carried into git-gui.  Again, patches welcome.  :-)

> and to view the
> staged/unstaged changes as trees - helpful for when a build has
> created a non-ignored directory with thousands of files.

Yea.  And when that happens to me I immediately slap the directory
into my .gitignore or .git/info/exclude and rescan to make the huge
pile of untracked files disappear.  So a tree view in git-gui has
never been something I wanted.  Trees in Tcl/Tk are also horrible
to implement.  The toolkit just has never been very good at that
sort of thing.

> Maybe I
> should get qgit - but git gui has the massive advantage of being in
> every install by default, and so is available in msysgit.

Yes, I have to admit that git-gui's popularity among git users has a
_lot_ to do with the simple fact that it ships out of the box as part
of Junio's git releases.  Since most git users have Tcl/Tk available
so they can use gitk, git-gui is also ready-to-go, with no extra libs
needed on your system.

However, QGit is also a good program, and has many loyal users.
There are benefits and drawbacks to both GUIs.
 
> Whilst I'm thinking about it - I'm surprised in retrospect how little
> prominence the index is given in the frontends I've seen.

Really?  git-gui is all about the index.

> It's easy,
> coming from SVN, to gloss over the index as the same as just checking
> off files at commit time, and miss stuff like 'git add --patch' and
> 'git mergetool' altogether.

Right click on a hunk in the diff pane in git-gui and stage/unstage
it?  Its about as good as `git add --patch`.  Or better, depending
on how you work.

-- 
Shawn.