Iteration 03

Discuss on: http://groups.google.com/group/thg-dev/browse_frm/thread/52e6adc3a61fdd26?hl=en



  • Show "Working Copy" row always
    • needs discussion or experimental implementation
  • Use "diamond shape" for MQ changesets
  • Introduce "Extra Icon" column


  • Main application name
    • "TortoiseHg Workbench", "Repository Browser", "Repository Explorer"...?

[Figure 2]


  • Simplify "Quick Commit" feature: remove drop-down menu
    • "Commit" button is still required to indicate the operation by "Enter" key

Commit integration

Supposing you have a repository like Figure A, log viewer adds a special revision named "Working Copy" when you change something in the working directory. This idea was brought from hgview. This way shows the parent revision of working directory very clearly.

If you select "Working Copy" row, changeset viewer shows details of changes in working directory. This means that "changeset viewer" and "status feature" are integrated to one component. Of course, you can execute various commands from here, such as "revert", "partial revert", "shelve", "qnew" ... etc.

After committing changes (Figure B), log viewer adds a normal changeset instead of a special working tree revision and changes parent revision to committed changeset (Figure C).

The summary column of "Working Copy" row has a combo box which allows you to commit changes in working directory quickly. It has "Commit" button, but you can commit using a keyboard accelerator "Enter" (or "Ctrl+Enter). The combo box contains your recent commit messages, so you can commit them really quickly.

MQ integration

In here, you have 3 unapplied patches in MQ and uncommitted changes in working directory (Figure A).

You create a new patch named "hogepatch" (hg qnew) using "QNew" text input in the bottom changeset viewer (Figure B).

After you "qpush", you at "bug321.patch" patch (Figure C).

If you change something in working directory again, "Working Copy" row is changed to red and "!" icon is shown (Figure D). Then if there is at least an applied patch in MQ, "Commit" button in "working copy" row is changed to "QRefresh" button.

This "Working Copy" changeset contains a diff between "bug321.patch" and working directory (figure "C"). This is helpful feature to check *real* changes from the last qrefreshed patch.

Sync integration

"Extra Icon" column indicates incoming/outgoing changesets.

Main app: UI Overview

"Status View" shows multiple progresses of running Mercurial commands. This can be used to cancel running commands.

Main app: Working Copy

Past iterations


Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.