On Sat, 2009-02-07 at 02:24 +0000, Tristan Wibberley wrote: > Hi, > > I'm playing with thg and it's very nice. There is something I'd really > like, though. It would be great if I could use hgtk log as the primary > interface to mercurial for all functionality. > > As an example of some handy usability enhancements that would help, I > offer a mockup screen shot (attached). > > A mercurial patch queue is represented in this screen shot, as well as a > mouse drag operation on the home icon showing a patch about to be > qpushed.
I like this visualization of the patches when they're applied. It lets you know they're temporary additions. I've envisioned a dialog that would show you unapplied patches and would allow you to push/pull the queue, or reorder the unapplied list. The problem I always run into is there's no real clean solution for when patches do not apply cleanly. It would be nice if there was a tool that helped you merge in rejected patch hunks. I've been hesitant to add MQ support to very many dialogs until we have a total solution for it. The latest crew commit dialog supports qrefresh operations, but that is the only dialog that even recognizes applied patches. The other issue is that lately there's been a lot of buzz about replacing MQ with something less fragile. There's this new attic extension that is like a stackless MQ. Then there's pbranches. I was planning on allowing this discussion to come to some conclusion and then supporting the winner(s). But don't let my hesitation stop you. If you find solutions to these problems, we'll certainly incorporate them. > Also, in order to perform a diff operation with a bit of a nicer UI (so > you can see what you're comparing more easily) there is a mouse select > operation drawing a path over the graph. That path should support right > clicks allowing diffs, and support drags allowing splicing (rebase > including pulling changesets out of the middle of a history and > inserting into the middle of another history, or cherry picking by > inserting a /copy/ of the changesets into another history - Ctrl/Shift > combinations could choose a rebase or cherrypick splice as in various > other programs choosing cut/copy with those keys - see gimp selection > tool). Drag & drop in GTK on Windows hasn't worked very well for us yet, but perhaps DND within a single app will be possible. As for splicing changes around, I'm pretty hesitant to support operations that aren't already features of Mercurial itself, or at least in popular extensions. Rebase gets us some of this, but not all, and it is a pretty new extension that still seems to lose data occasionally. Anything that makes it easier to find the changesets and diffs you are interested in, I'm all for it. > It would also be nice to get better integration with 3-way merge tools > when doing a visual diff of a merge. I'd like to see my 3-way merge tool > popup with the committed resolution pre-displayed as if I had just saved > the merge result - rather than seeing the diff of the end result of one > whole branch against that of another whole branch. This may be possible by tweaking the arguments to kdiff3, but I'm not certain. > It would also be great if the working directory were shown as if it were > a special changeset from which the status screen can be navigated to. That's an interesting idea as well, and I think this could be a simple change, relative to the others. > A futher visual diff improvement would be to get a mode where only the > graph (and maybe rev) is shown with the other columns (and the text diff > box) replaced by a visual diff of the selected path. This would make > browsing the history much nicer. > > I'm just studying the code ATM and hopefully I'll have some weekends to > work towards these features with a bit of guidance on the structure of > the existing software. Pull up a chair and stay a while. Feel free to fork the crew repository on Bitbucket and add all of these ideas to it's Wiki. After the 0.7 release in early March, we hope to focus on usability issues like these. -- Steve ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ Tortoisehg-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

