[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Improving the Usability of SVN Externals

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Tue, 23 Sep 2008 19:15:31 +0200

Mark wrote:
> Our company recently moved over from VSS to svn/TortoiseSVN. The
> transition has been remarkably painless thanks to the excellent TSVN
> user interface, the new system is on the whole vastly superior to VSS.
> There was initial concern about the lack of an equivalent to the 'VSS
> Copy' feature but we have found that svn:externals provides a
> (theoretically) more controlled mechanism for managing the sharing of
> data between projects. I have been promoting the use of svn:externals
> but find that in practice they are a bit tricky to use and prone to
> user error due to the slightly obscure implementation as a folder
> property. I would like to suggest some changes to improve the
> usability of the externals feature. I sincerely believe these changes
> would be much appreciated by many users.
> Repository Browser:
> 1. When a folder is expanded, its properties could also be retrieved
> and any externals listed together with the folder contents. The folder
> icon for externals should be different to indicate that it is a link
> to a different repository location (local or remote). This has
> previously been discussed but was thought to be too much overhead to
> fetch properties for each folder (http://tortoisesvn.tigris.org/
> servlets/ReadMsg?list=dev&msgNo=19904). It is however only necessary
> for a single properties query for each expanded/parent folder so would
> thus be a relatively minor overhead. (Each svn list would require a
> single svn propget query).

One propget for every folder shown.
That would make the repo browser unusable for most repositories.

> 2. When a repository folder is right mouse button dragged and dropped
> in the repo browser a new context menu item ‘Add External Link’ could
> be added. The ‘Add External Link’ would bring up a dialog allowing
> entry of externals details using the path of the dropped file as the
> target path. (The dialog would allow user to specify whether an
> absolute or relative reference is created & whether the head or
> specific revision number is used).

the problem here is that an svn:external property can contain multiple
externals. Parsing those correctly and also correctly identify whether
the same external is already there would be very hard and error prone.

> Windows Explorer Shell:
> 3. The overlay icon for svn:externals folders should ideally be
> different to normal SVN folder icons to show that it references a
> different repository location. Ideally it should be similar to that
> used in the repo browser discussed above (in 1).

There are only a limited amount of overlay slots available in Windows.
Also, a folder itself isn't "external". Only as part of a parent folder
it can be marked as external - and that information is not available
when fetching the information for that particular folder, only when
fetching the info from the parent folder.
-> a *lot* more disk access, which is also not what we want.

> 4. The context menu could also offer to 'Add External Link' to an
> existing working copy. This would bring up a similar dialog as
> suggested in 2.
> Ideally it should be possible to add and maintain svn:externals
> references without having to manually edit the folder properties
> manually.

Externals are not added/removed/changed on a daily basis. They're only
set up once for a project. I don't think adding such a big and error
prone feature is justified.


  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

Received on 2008-09-23 19:15:54 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.