Enable namespaced Labels, display as a tree view
Just a simple (crazy?) idea. This would be very nice to have when the number of labels in a repo grows large. A hierarchical Labels view would be consistent with the rest of the Plastic UI.
Implement "soft" namespacing for labels (i.e "Namespaced Labels/Label 1"), similar to the one for branches.
Then add buttons "List view" and "Tree view" to the Labels view, just like the Branches view.
Technical:
No change is needed to how label names are stored, but the forward-slash character needs to be allowed in a Label name (it isn't currently, which is great since it means existing Labels won't be namespaced by mistake). The slash should be used to indicate namespace levels. You'd have to accept whitespaces in namespace names but that should not be a problem. Renaming by adding/removing slashes should modify the namespace of the label. Consecutive slashes should be left as-is but treated as a single slash. Namespaces containing only whitespace should be collapsed.
(NOTE: backslash is currently allowed in a label name, which is a bit odd. If there is a problem with enabling forward-slashes in label names, backslash could be used but that would be less consistent with the rest of the UI.)
-
Göran Wallgren commented
An alternative would be to display an implicit hierarchy of Labels, based on identical parts (starting from the beginning) of the Label names.
Some wiki engines (like the Trac engine) do this for grouping related pages in the page Index. They even combine this with a slash-based hierarchy. See for example the Trac - Dev entries in the main Index here: http://trac.edgewall.org/wiki/TitleIndex