Hi,

talking to Julian about the TSVN UI for the new Shelve/Unshelve feature
today, we came up with some mock-ups for that.

Posting this to this mailing list to get some feedback/discussion going
on about what you think of the concepts and where you might see some
limitations/pitfalls.


To initiate the (un-)shelving, you right click any folder in a working
copy. This brings up the Shelve/Unshelve commands in the TSVN context menu.

In case of hovering over Unshelve, another list pops up:

This list displays the (5?) most recent shelved entries which apply to
the selected directory (i.e. doesn't contain shelve-entries which
contain changes in paths not descendants to the current path). Hovering
over one of these entries displays a popup stating the associated
comment which was entered when creating the shelved entry (see shelve
GUI mockup below). Clicking one of these entries, will unshelve the
entry directly (i.e. it won't bring up any detailed unshelve-dialog).

Clicking on "Show all..." will display the following detailed
unshelve-dialog.

This dialog allows you to perform more complex/advanced unshelve operations.
Checking a shelved entry via its checkbox marks this entry to be
unshelved when clicking the OK button.
Entries which involve changes on parent paths are by default greyed-out
to prevent accidentally modifying files in paths outside the initially
right clicked folder (in the previous step). Checking the setting "allow
unshelving in different parent paths" enables these lines and allows
these previously greyed-out shelved entries to be marked as well.

Each changeset displays the changeset name (i.e. Shelved Entry 1..3),
its associated comment, and the common parent path where the shelved
entry is rooted from (relative to the current path - where "." means the
common parent path is the current path).
Note that in case of it not being the current path, the entry displays
first the relative path based on the initially right clicked folder
followed by the absolute path in brackets.

If an entry is unshelved, it will not be removed completely. It'll
rather end up in the trash container, so it can be restored at a later
time, if required. Note that I didn't make a sketch up for the Trash
dialog, but envision a simple list of shelved entries (also showing the
comments) with a possibility to completely remove these.

Right clicking an entry in the unshelve-dialog brings up a context
dialog allowing the following operations:

  * remove (moves the shelved entry to the trash container)
  * export (exports the shelved entry as a patch file)
  * merge (available only if selected at least 2 entries - to merge both
    shelved entries into a single entry  - a popup dialog will ask for a
    name/comment of the merged shelved entry (defaulting to use the
    first shelved entry comment/name))

When clicking the "Shelve" entry in the TSVN context menu, the following
will be displayed.

The top list displays all modified files which are descendants of the
initially right clicked directory.

If you want to add modified files to an existing shelved entry, select
these in the top list, select the existing entry in the second list, and
click the "Add" button.

If you want to create a new shelved entry for the selected files, add a
name for the new shelve entry, optionally a comment, and click the
"Create" button.

The caption of the Add/Create button will change based on whether or not
an existing shelved entry is selected.

Selecting a row in the top list (i.e. clicking on the filename line
instead of on the checkbox) will highlight that row and all existing
changesets in the second list which contain already changes to that file
(to easier identify a candidate for the user which he might want to add
the new change to).

Right clicking any shelved entry will have the same options available
like right-clicking these in the unshelve dialog provides.

What's your opinion on that design?

Regards,
Stefan

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/e4b7b4c6-3289-d893-8cdd-4b5768633576%40gmx.de.
For more options, visit https://groups.google.com/d/optout.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to