v-0.1 (alpha quality) gwsmhg is available for download at ...

Steve Borho steve at borho.org
Sun May 24 10:41:01 CDT 2009


On Sun, May 24, 2009 at 8:31 AM, Peter Williams <pwil3058 at bigpond.net.au> wrote:
> Peter Arrenbrecht wrote:
>>
>> On Sun, May 24, 2009 at 6:32 AM, Peter Williams <pwil3058 at bigpond.net.au>
>> wrote:
>>>
>>> ... <http://sourceforge.net/projects/gwsmhg/>.  It is a PyGTK workspace
>>> management GUI using hg and mq.
>>>
>>> It requires pygtk2, pygtksourceview, pycairo, pygobject2 and (of course)
>>> mercurial.  It has only been tested on i386 and x86_64 Fedora 10 Linux
>>> and any testing on other systems would be appreciated.  As would
>>> feedback on usability etc.
>>
>> Basic operations work on Ubuntu 9.04 64-bit.
>
> Did it successfully put a launcher in your Applications menu?  It should
> have ended up in the Programming sub menu.
>
>>
>> I kind of like the idea of the workspace manager. But how about
>> integrating with TortoiseHg for actual operations like commit?
>
> Looking at the screen shots for TortoiseHg's commit tool I can't see
> anything that it offers that gwsmhg's commit mechanism doesn't.  If anything
> gwsmhg probably offers more e.g. you can initiate a partial commit by
> selecting the files (left mouse button selects, left button plus control key
> extends selection and middle button clears the selection) that you want to
> commit in Files window and then press the right mouse button which will pop
> up a menu with operations that can be performed on the selected files --
> just choose commit and the commit dialog will pop up and in the bottom
> portion it will display the files that will be in the commit (those in your
> selection that have actual changes).  If you right click on this file
> display you will get a pop up menu which offers among other things an item
> to display the diff (or multiple diffs if the workspace has multiple
> parents) for the files in the change set.
>
> This commit dialog is non modal which means that you can keep working on the
> change using the rest of gwsmhg (there are menu items to refresh file
> display and diff display when you have made changes).  It remembers the
> initial set of files that were chosen for commit and if changes are made to
> one of them (which was originally not shown in the commit dialog) they will
> be added to the display but changes to files outside the set will be
> ignored.
>
> In addition, the commit message is backed up to a file (until the commit is
> actually made) so you can cancel the commit and then restart it again later
> without losing any of the description that you've entered.
>
> If you work on Linux kernel modifications there is a tool bar in the top
> right of the description box menu bar that provides insertion of
> Signed-off-by, Ack etc.
>
> In addition to the automatically saved copy of the description there are (in
> the Summary menu) items for saving/loading the description to/from a file of
> your choice and also just including (without overwriting existing text) the
> contents of a file in the description at the cursor position.

I won't go nit-for-nit here, but I will make two main points:

* hgtk commit does allow you to do record/shelve operations somewhat
intrinsically.
* it also saves your commit message if you quit, and remembers the
last 10 or so that you've commited so you can re-use them if necessary
(after rollback especially).

>> See
>> hgtk within TortoiseHg for how to launch it standalone.
>
> Installing it seems overly complex (so I'll not bother for the moment).
>
> I'm interested to see that it can be used stand alone as its integration
> with nautilus had been the main reason that I was disinterested in it.


hgtk install instructions on Linux:
hg clone http://bitbucket.org/tortoisehg/crew thg-crew
ln -s thg-crew/hgtk ~/bin

Nautilus integration (optional):
mkdir ~/.nautilus/python-extensions
ln -s thg-crew/contrib/nautilus-thg.py ~/.nautilus/python-extensions


>> Maybe this
>> could even become an extension to TortoiseHg, like `hgtk browse` or
>> something.
>
> I prefer to keep it separate but the code is open source so anyone who
> wishes could do that as long as the honoured the GPL.
>
> I am, however, open to requests/suggestions for additional features to be
> added to gwsmhg.
>
> Peter
> PS the selection and right button popup menu mechanism is in place in all
> file tree displays, tables and text boxes.  The menus contain items that
> provide some functions when there are no selections.  Some menu items may be
> turned off when MQ has patches applied if there operation is deemed unwise
> in that situation.

It's our long-term goal to support MQ in a decent fashion, and your
tool looks like it would cover that very nicely.  I've also been
looking for a tool that manages patch imports, etc.  So I may indeed
include gwsmhg in later  TortoiseHG installers.

--
Steve Borho



More information about the Mercurial-devel mailing list