{"thread":{"id":"43133","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","startedAt":"2006-11-07T08:36:03Z","lastAt":"2006-11-08T06:03:50Z","messageCount":6,"participants":["Paul Mackerras","Shawn Pearce","Jakub Narebski","Liu Yubao"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"296438","messageId":"20061107083603.GB9622@spearce.org","threadId":"43133","inReplyTo":null,"subject":"[RFC] git-gui: A commit / fetch / push interface","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-11-07T08:36:03Z","receivedAt":"2006-11-07T08:36:03Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Paul Mackerras originally started a thread about gitool, a graphical\ninterface for creating commits:\n\n  http://thread.gmane.org/gmane.comp.version-control.git/26415\n\nI liked it and wanted to start making it available to some folks I\nwork with who are more comfortable with the mouse than they are with\nthe keyboard.  At first I tried fixing a few of the outstanding bugs\nin gitool but I eventually wound up rewriting the thing from scratch.\n\nThe git-gui interface looks pretty similar to the gitool interface\n(thanks Paul for laying out a such good idea!).  In the top 1/3\nof the window there are two panes listing the modified files; the\nmiddle 1/3 shows the diff against HEAD; the bottom 1/3 is used to\nedit the commit message.\n\nClicking on a file icon in the top 1/3 area will update the index\nvia an update-index call, thereby scheduling the file for commit.\nRight now however you can't undo the update (on the TODO list).  :-)\n\nClicking on a file name will show the diff against HEAD, or a 3 way\ndiff against HEAD, index and working directory, or just the file's\ncontents (depending on state of the file).\n\n\nMajor improvements over Paul's original gitool are:\n\n * Amend the last commit.\n\n * Merge commits (no merge resolution assitance however).\n\n * Automatic loading of MERGE_MSG and SQUASH_MSG buffers.\n\n * Fetch and push available from with the GUI.\n\n * Start gitk on the current branch.\n\n * Some useful keyboard bindings (though probably could use more).\n\n * Proper menus and menubar.\n\n * Provides status feedback to the user.\n\n * Prevents the user from doing parallel operations that might\n   also affect the current operation (well at least from within\n   git-gui anyway).\n\n * Default geometry works properly on Windows.\n\n * Stays running if invoked as git-gui; exits immediately after\n   commit if invoked as git-citool.\n\n * Tested on Cygwin/Windows 2000 and Mac OS X.\n\n * Never crashes with Tcl/Tk errors.\n\nOk so that last one might be reaching. :-) While trying to improve\ngitool I noticed that gitool kept throwing Tcl/Tk errors at various\ntimes.  I had a hard time tracking down most of them.  (This is\none of the reasons I just rewrote it.)  I have yet to break git-gui.\n\nI have posted a repository with the source on pasky's service:\n\n\thttp://repo.or.cz/w/git-gui.git\n\n\nMy goal is to have enough operations available through git-gui that\nthe average user won't need to leave it, unless he/she needs to do a\ncherry-pick, am, etc. type of operation.  Or they want to browse the\nhistory, in which case they can just start gitk from within git-gui.\nI'm hoping to have most of it done this week.  :-)\n\nSuggestions for improvement (or patches!) are most welcome.\nBetter naming suggestions are also welcome.  :)\n\n-- \n"},{"id":"297114","messageId":"eiphq0$pdf$1@sea.gmane.org","threadId":"43133","inReplyTo":"20061107083603.GB9622@spearce.org","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-11-07T08:58:18Z","receivedAt":"2006-11-07T08:58:18Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Shawn Pearce wrote:\n\n> Paul Mackerras originally started a thread about gitool, a graphical\n> interface for creating commits:\n> \n>   http://thread.gmane.org/gmane.comp.version-control.git/26415\n[...]\n> I have posted a repository with the source on pasky's service:\n> \n>       http://repo.or.cz/w/git-gui.git\n[...]\n> Suggestions for improvement (or patches!) are most welcome.\n> Better naming suggestions are also welcome.  :)\n\nI have added it to http://git.or.cz/gitwiki/InterfacesFrontendsAndTools\nBy the way, do you know if (h)gct is actively developed against git?\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n\n"},{"id":"293894","messageId":"17745.3287.358673.265578@cargo.ozlabs.ibm.com","threadId":"43133","inReplyTo":"20061107083603.GB9622@spearce.org","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","fromName":"Paul Mackerras","fromEmail":"paulus@samba.org","sentAt":"2006-11-07T22:46:47Z","receivedAt":"2006-11-07T22:46:47Z","isPatch":false,"sender":{"key":"paulus@samba.org","avatar":"https://avatars.githubusercontent.com/u/1606439?v=4"},"body":"Shawn Pearce writes:\n\n> I liked it and wanted to start making it available to some folks I\n> work with who are more comfortable with the mouse than they are with\n> the keyboard.  At first I tried fixing a few of the outstanding bugs\n> in gitool but I eventually wound up rewriting the thing from scratch.\n\nCool!\n\n> I have posted a repository with the source on pasky's service:\n> \n> \thttp://repo.or.cz/w/git-gui.git\n\nShouldn't the \"w\" be \"r\" there?  It gave me an error \"Can't lock ref\"\nwith the \"w\".\n\n> My goal is to have enough operations available through git-gui that\n> the average user won't need to leave it, unless he/she needs to do a\n> cherry-pick, am, etc. type of operation.  Or they want to browse the\n> history, in which case they can just start gitk from within git-gui.\n> I'm hoping to have most of it done this week.  :-)\n\nOne thing I have been meaning to do is to integrate gitool into gitk,\nnow that gitk can display a fake commit showing the local changes.  I\nintend to add a menu item to gitk saying \"Commit local changes\" or\nsomething, which would invoke gitool, or maybe now git-gui instead. :)\nThe nice thing is that then gitk could update the graph to show the\nnew commit once it was created.\n\nMy current version of gitool also has menus that let you revert\nmodified files, and delete or ignore untracked files.  Have you\nconsidered adding that to git-gui?\n\nRegards,\n"},{"id":"298025","messageId":"45516F21.9070901@gmail.com","threadId":"43133","inReplyTo":"17745.3287.358673.265578@cargo.ozlabs.ibm.com","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","fromName":"Liu Yubao","fromEmail":"yubao.liu@gmail.com","sentAt":"2006-11-08T05:46:09Z","receivedAt":"2006-11-08T05:46:09Z","isPatch":false,"sender":{"key":"yubao.liu@gmail.com","avatar":null},"body":"Paul Mackerras wrote:\n> Shawn Pearce writes:\n> \n>> I liked it and wanted to start making it available to some folks I\n>> work with who are more comfortable with the mouse than they are with\n>> the keyboard.  At first I tried fixing a few of the outstanding bugs\n>> in gitool but I eventually wound up rewriting the thing from scratch.\n> \n> Cool!\n> \n>> I have posted a repository with the source on pasky's service:\n>>\n>> \thttp://repo.or.cz/w/git-gui.git\n> \n> Shouldn't the \"w\" be \"r\" there?  It gave me an error \"Can't lock ref\"\n> with the \"w\".\n> \nThis it a gitweb URL, not a repos URL for 'git clone', you can only view\nit in web browser.\n"},{"id":"298709","messageId":"20061108055511.GD28498@spearce.org","threadId":"43133","inReplyTo":"45516F21.9070901@gmail.com","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-11-08T05:55:11Z","receivedAt":"2006-11-08T05:55:11Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Liu Yubao <yubao.liu@gmail.com> wrote:\n> Paul Mackerras wrote:\n> >Shawn Pearce writes:\n> >\n> >>I liked it and wanted to start making it available to some folks I\n> >>work with who are more comfortable with the mouse than they are with\n> >>the keyboard.  At first I tried fixing a few of the outstanding bugs\n> >>in gitool but I eventually wound up rewriting the thing from scratch.\n> >\n> >Cool!\n> >\n> >>I have posted a repository with the source on pasky's service:\n> >>\n> >>\thttp://repo.or.cz/w/git-gui.git\n> >\n> >Shouldn't the \"w\" be \"r\" there?  It gave me an error \"Can't lock ref\"\n> >with the \"w\".\n>\n> This it a gitweb URL, not a repos URL for 'git clone', you can only view\n> it in web browser.\n\nToo bad pasky doesn't have the magic mapping setup in the webserver\nso they are one and the same.  :-)\n\nI linked to the gitweb rather than the repository as I figured\npeople might want to read the history, or since it was just one\nblob download it right from the webpage rather than cloning the\nrepository.  But given that this is the git mailing list most people\nprobably would have expected to clone it instead...\n\n-- \n"},{"id":"296687","messageId":"20061108060350.GE28498@spearce.org","threadId":"43133","inReplyTo":"17745.3287.358673.265578@cargo.ozlabs.ibm.com","subject":"Re: [RFC] git-gui: A commit / fetch / push interface","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-11-08T06:03:50Z","receivedAt":"2006-11-08T06:03:50Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Paul Mackerras <paulus@samba.org> wrote:\n> One thing I have been meaning to do is to integrate gitool into gitk,\n> now that gitk can display a fake commit showing the local changes.  I\n> intend to add a menu item to gitk saying \"Commit local changes\" or\n> something, which would invoke gitool, or maybe now git-gui instead. :)\n> The nice thing is that then gitk could update the graph to show the\n> new commit once it was created.\n\nRight.  :-)\n\nI have absolutely no plans (or desire) to attempt to do graph\nrendering in git-gui.  The most I may do for showing history in it\nis perhaps a \"git log --max-count=5 --pretty=oneline\" type of display\nso the user can see more than just an empty window after a commit.\n\nIMHO gitk does a very nice job of rendering the graph on a wide\nrange of platforms (although it still has two annoying bugs: one\non Windows and one on Mac OS X that really make it hard to use).\ngit-gui is just an attempt to bring the other major features of Git\nto that same set of platforms, with the same set of dependencies\n(wish 8) and ease of use...\n\nIt would be nice if we can eventually connect gitk and git-gui so\nthey can coordinate as you are talking about above...\n\n> My current version of gitool also has menus that let you revert\n> modified files, and delete or ignore untracked files.  Have you\n> considered adding that to git-gui?\n\nYes, they are in my TODO list (or if missing from there are certainly\nin my head as things to add).  I'd like to get git-gui finished this\nweek, which means getting those features in today or tomorrow.  :-)\nI'll probably do branches first though.\n\n-- \n"}]}