* [RFC] git-gui: A commit / fetch / push interface
@ 2006-11-07 8:36 Shawn Pearce
2006-11-07 8:58 ` Jakub Narebski
2006-11-07 22:46 ` Paul Mackerras
0 siblings, 2 replies; 6+ messages in thread
From: Shawn Pearce @ 2006-11-07 8:36 UTC (permalink / raw)
To: git; +Cc: paulus
Paul Mackerras originally started a thread about gitool, a graphical
interface for creating commits:
http://thread.gmane.org/gmane.comp.version-control.git/26415
I liked it and wanted to start making it available to some folks I
work with who are more comfortable with the mouse than they are with
the keyboard. At first I tried fixing a few of the outstanding bugs
in gitool but I eventually wound up rewriting the thing from scratch.
The git-gui interface looks pretty similar to the gitool interface
(thanks Paul for laying out a such good idea!). In the top 1/3
of the window there are two panes listing the modified files; the
middle 1/3 shows the diff against HEAD; the bottom 1/3 is used to
edit the commit message.
Clicking on a file icon in the top 1/3 area will update the index
via an update-index call, thereby scheduling the file for commit.
Right now however you can't undo the update (on the TODO list). :-)
Clicking on a file name will show the diff against HEAD, or a 3 way
diff against HEAD, index and working directory, or just the file's
contents (depending on state of the file).
Major improvements over Paul's original gitool are:
* Amend the last commit.
* Merge commits (no merge resolution assitance however).
* Automatic loading of MERGE_MSG and SQUASH_MSG buffers.
* Fetch and push available from with the GUI.
* Start gitk on the current branch.
* Some useful keyboard bindings (though probably could use more).
* Proper menus and menubar.
* Provides status feedback to the user.
* Prevents the user from doing parallel operations that might
also affect the current operation (well at least from within
git-gui anyway).
* Default geometry works properly on Windows.
* Stays running if invoked as git-gui; exits immediately after
commit if invoked as git-citool.
* Tested on Cygwin/Windows 2000 and Mac OS X.
* Never crashes with Tcl/Tk errors.
Ok so that last one might be reaching. :-) While trying to improve
gitool I noticed that gitool kept throwing Tcl/Tk errors at various
times. I had a hard time tracking down most of them. (This is
one of the reasons I just rewrote it.) I have yet to break git-gui.
I have posted a repository with the source on pasky's service:
http://repo.or.cz/w/git-gui.git
My goal is to have enough operations available through git-gui that
the average user won't need to leave it, unless he/she needs to do a
cherry-pick, am, etc. type of operation. Or they want to browse the
history, in which case they can just start gitk from within git-gui.
I'm hoping to have most of it done this week. :-)
Suggestions for improvement (or patches!) are most welcome.
Better naming suggestions are also welcome. :)
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC] git-gui: A commit / fetch / push interface
2006-11-07 8:36 [RFC] git-gui: A commit / fetch / push interface Shawn Pearce
@ 2006-11-07 8:58 ` Jakub Narebski
2006-11-07 22:46 ` Paul Mackerras
1 sibling, 0 replies; 6+ messages in thread
From: Jakub Narebski @ 2006-11-07 8:58 UTC (permalink / raw)
To: git
Shawn Pearce wrote:
> Paul Mackerras originally started a thread about gitool, a graphical
> interface for creating commits:
>
> http://thread.gmane.org/gmane.comp.version-control.git/26415
[...]
> I have posted a repository with the source on pasky's service:
>
> http://repo.or.cz/w/git-gui.git
[...]
> Suggestions for improvement (or patches!) are most welcome.
> Better naming suggestions are also welcome. :)
I have added it to http://git.or.cz/gitwiki/InterfacesFrontendsAndTools
By the way, do you know if (h)gct is actively developed against git?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC] git-gui: A commit / fetch / push interface
2006-11-07 8:36 [RFC] git-gui: A commit / fetch / push interface Shawn Pearce
2006-11-07 8:58 ` Jakub Narebski
@ 2006-11-07 22:46 ` Paul Mackerras
2006-11-08 5:46 ` Liu Yubao
2006-11-08 6:03 ` Shawn Pearce
1 sibling, 2 replies; 6+ messages in thread
From: Paul Mackerras @ 2006-11-07 22:46 UTC (permalink / raw)
To: Shawn Pearce; +Cc: git
Shawn Pearce writes:
> I liked it and wanted to start making it available to some folks I
> work with who are more comfortable with the mouse than they are with
> the keyboard. At first I tried fixing a few of the outstanding bugs
> in gitool but I eventually wound up rewriting the thing from scratch.
Cool!
> I have posted a repository with the source on pasky's service:
>
> http://repo.or.cz/w/git-gui.git
Shouldn't the "w" be "r" there? It gave me an error "Can't lock ref"
with the "w".
> My goal is to have enough operations available through git-gui that
> the average user won't need to leave it, unless he/she needs to do a
> cherry-pick, am, etc. type of operation. Or they want to browse the
> history, in which case they can just start gitk from within git-gui.
> I'm hoping to have most of it done this week. :-)
One thing I have been meaning to do is to integrate gitool into gitk,
now that gitk can display a fake commit showing the local changes. I
intend to add a menu item to gitk saying "Commit local changes" or
something, which would invoke gitool, or maybe now git-gui instead. :)
The nice thing is that then gitk could update the graph to show the
new commit once it was created.
My current version of gitool also has menus that let you revert
modified files, and delete or ignore untracked files. Have you
considered adding that to git-gui?
Regards,
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC] git-gui: A commit / fetch / push interface
2006-11-07 22:46 ` Paul Mackerras
@ 2006-11-08 5:46 ` Liu Yubao
2006-11-08 5:55 ` Shawn Pearce
2006-11-08 6:03 ` Shawn Pearce
1 sibling, 1 reply; 6+ messages in thread
From: Liu Yubao @ 2006-11-08 5:46 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Shawn Pearce, git
Paul Mackerras wrote:
> Shawn Pearce writes:
>
>> I liked it and wanted to start making it available to some folks I
>> work with who are more comfortable with the mouse than they are with
>> the keyboard. At first I tried fixing a few of the outstanding bugs
>> in gitool but I eventually wound up rewriting the thing from scratch.
>
> Cool!
>
>> I have posted a repository with the source on pasky's service:
>>
>> http://repo.or.cz/w/git-gui.git
>
> Shouldn't the "w" be "r" there? It gave me an error "Can't lock ref"
> with the "w".
>
This it a gitweb URL, not a repos URL for 'git clone', you can only view
it in web browser.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC] git-gui: A commit / fetch / push interface
2006-11-08 5:46 ` Liu Yubao
@ 2006-11-08 5:55 ` Shawn Pearce
0 siblings, 0 replies; 6+ messages in thread
From: Shawn Pearce @ 2006-11-08 5:55 UTC (permalink / raw)
To: Liu Yubao; +Cc: Paul Mackerras, git
Liu Yubao <yubao.liu@gmail.com> wrote:
> Paul Mackerras wrote:
> >Shawn Pearce writes:
> >
> >>I liked it and wanted to start making it available to some folks I
> >>work with who are more comfortable with the mouse than they are with
> >>the keyboard. At first I tried fixing a few of the outstanding bugs
> >>in gitool but I eventually wound up rewriting the thing from scratch.
> >
> >Cool!
> >
> >>I have posted a repository with the source on pasky's service:
> >>
> >> http://repo.or.cz/w/git-gui.git
> >
> >Shouldn't the "w" be "r" there? It gave me an error "Can't lock ref"
> >with the "w".
>
> This it a gitweb URL, not a repos URL for 'git clone', you can only view
> it in web browser.
Too bad pasky doesn't have the magic mapping setup in the webserver
so they are one and the same. :-)
I linked to the gitweb rather than the repository as I figured
people might want to read the history, or since it was just one
blob download it right from the webpage rather than cloning the
repository. But given that this is the git mailing list most people
probably would have expected to clone it instead...
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC] git-gui: A commit / fetch / push interface
2006-11-07 22:46 ` Paul Mackerras
2006-11-08 5:46 ` Liu Yubao
@ 2006-11-08 6:03 ` Shawn Pearce
1 sibling, 0 replies; 6+ messages in thread
From: Shawn Pearce @ 2006-11-08 6:03 UTC (permalink / raw)
To: Paul Mackerras; +Cc: git
Paul Mackerras <paulus@samba.org> wrote:
> One thing I have been meaning to do is to integrate gitool into gitk,
> now that gitk can display a fake commit showing the local changes. I
> intend to add a menu item to gitk saying "Commit local changes" or
> something, which would invoke gitool, or maybe now git-gui instead. :)
> The nice thing is that then gitk could update the graph to show the
> new commit once it was created.
Right. :-)
I have absolutely no plans (or desire) to attempt to do graph
rendering in git-gui. The most I may do for showing history in it
is perhaps a "git log --max-count=5 --pretty=oneline" type of display
so the user can see more than just an empty window after a commit.
IMHO gitk does a very nice job of rendering the graph on a wide
range of platforms (although it still has two annoying bugs: one
on Windows and one on Mac OS X that really make it hard to use).
git-gui is just an attempt to bring the other major features of Git
to that same set of platforms, with the same set of dependencies
(wish 8) and ease of use...
It would be nice if we can eventually connect gitk and git-gui so
they can coordinate as you are talking about above...
> My current version of gitool also has menus that let you revert
> modified files, and delete or ignore untracked files. Have you
> considered adding that to git-gui?
Yes, they are in my TODO list (or if missing from there are certainly
in my head as things to add). I'd like to get git-gui finished this
week, which means getting those features in today or tomorrow. :-)
I'll probably do branches first though.
--
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-11-08 6:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-07 8:36 [RFC] git-gui: A commit / fetch / push interface Shawn Pearce
2006-11-07 8:58 ` Jakub Narebski
2006-11-07 22:46 ` Paul Mackerras
2006-11-08 5:46 ` Liu Yubao
2006-11-08 5:55 ` Shawn Pearce
2006-11-08 6:03 ` Shawn Pearce
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).