On Tuesday, November 21, 2017 at 11:03:11 PM UTC+1, Luke1410 wrote: > > 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). >
This might be a problem: to show those context menu entries, you would have to do a lot of disk access to get the required info. But since the context menu should not cause any delays (always consider slow network shares!) disk access should be minimized as far as possible. > 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. > I would just use this dialog and have only one unshelve command in the context menu. > 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. > Will there be a timeout period after which those trashed entries get deleted? If not, should the cleanup dialog be extended to allow cleaning of those entries? > 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)) > > How would conflicts be handled when merging two entries? > > > 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. > I would use two buttons, and disable those that can't be used. i.e. disable the "Add" button if no entry in the second list is selected, and disable the "Create" button if no text is in the "New entry" box. > 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? > Looks good so far. 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/07ddd5e7-0ca6-428d-8e13-60b8667f86d0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

