On Mon, Feb 16, 2009 at 22:24, Jan Hudec <bulb@xxxxxx> wrote: > > Hello Folks, Hi Jan, nice to hear you again. > > Looking at the current situation with Git GUIs, I thought it might be useful > to create a generic library that would make it easier to develop git guis > (especially plugins to various tools) and to add a new features to many of > them with less effort. What do you people think about such idea? I fail to see the reason to do it given that git GUIs are already quite mature and stable tools, feature addition at this stage is only very limited and for only small things. Big features are already in from a long time, as example (I speak about QGit but the same applies to the others): > > - Tree of all files in the work area with their status > Seeing status (unchanged/modified/staged/new/...) of individual files > in Visual Studio is the most wanted features of my colleagues at $work. > The feature is applicable for Windows shell extension (Tortoise Git), > similar KDE and Gnome extensions and all IDE bindings. Already in. Modified files are bolded. What qgit misses is new files (but this could be easily added if needed because alre already known to qgit) and staged files (but I dont understund the useful of this info). > > - Tree of files in given revision > For browsing other revisions than the checked out one. Already in. > > - History *tree* > Starting gitk as separate process is suboptimal, because versions from > the tree can't be easily selected for operations (checkout, merge, ...). Already in. > > - Blob data > For looking at other revisions than the checked out one. Already in. > > - Commit properties > For showing details of revisions in the history view. Already in. > > - Diffs > Obviously... Already in. Obviously :-) > > - Annotations > Again, should be integrated with the rest of gui, so selecting line in > annotation can open the revision in diff view, select it in history > etc. Already in. > > - Configuration > Many tools (eg. gui designers) feature a tree view of all properties of > some object (property grid) with editable values and short > descriptions. It's not as nice gui designed for individual options, but > can provide good-enough easy-to-write way to set all valid options from > the gui. To what should this feature apply? Some examples please? > > - Menu and action definitions for the common operations Already in. Plus customizable actions/macros. > > > So what do you people think would be best? I see several options: > > - QtCore > > Qt seems to be the most popular library among Git GUI writers and since > version 4.5 will be LGPL, so it will be allowed to link with anything. > It is also probably the most portable one. On the downside, it's rather > large and it's language bindings are a bit worse (the garbage collector > integration was a bit bad last time I looked). I never felt the need for a garbage collector at all. I strongly prefer to spend time to manually fix the (very few) memory leaks that slept in. Qt class model already does object housekeeping for you at deterministic and well known times (when parent object is deleted so are all corresponding children). Thanks Marco -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html