2008/6/16 tejo dorus <tejodorus_at_hotmail.com>:
>>> * Check out the tree and create a copy
That sounds like a problem to me. Having TSVN make a checkout when you
create a tag would be very unfriendly if you have multi-GB working
copies. If you are creating a tag from a WC it may be possible to
avoid this step, but then you are creating the tag from a possibly
modified WC rather than directly on the server, which I personally
don't like. On this project I think the work flow is to modify the
external on trunk (or stabilisation branch) and commit, then tag from
trunk (or branch), then put the external back the way it was.
Long-winded, but it works.
Creating a tag directly on the server with externals being modified
would not work.
>>> * For each "externals definition": find the head revision number in the external repository
>>> * Update the "externals definitions".
>>> * Commit
>>> BRANCHING (seems only to be working for "internals" (externals within the same repository)):
>>> 1. (Locally) copy the tree (ex: /Project/Project_Foo/Trunc) to the branch folder (ex: /Project/Project_Foo/Branch/BugFix)
>>> 2. (Locally) copy the "internals" (ex: /Project/Common) to the branch folder (ex: /Project/Project_Foo/Branch/BugFix/_Common)
>>> 3. (locally) update the externals definition, so that /Project/Project_Foo/Branch/Bugfix/Common points to /Project/Project_Foo/Branch/Bugfix/_Common.
>>> 4. Commit
>>> For step 2, the user should be able to choose which ones of the "internals" should be branched, and which ones should simply be tagged or perhaps remain pointing to the head revision. I imagine some kind of a checkbox list that contains all externals for a given project (recursively obtained), and in which the user can select which ones to branch, which ones to tag, and which ones to leave pointing to the head revisions. Maybe it is possible to combine tagging and branching in one nice-to-use dialog window because they are so similar. You click on a folder, the dialog window inspects the tree for externals and asks for each external what to do, and then, after selecting the target folder, the process begins.
>> You're assuming that all users want this to happen. What if my
>> tagging/branching model is close to, but not quite the same as, what
>> would be provided by this?
> Then the model I have depicted here is not general enough. I am quite confident that the most-often-used models can be covered by an implementation that is sufficiently generic. I am open for a brainstorm on which model this would be, but I am not sure whether this is a good place for that.
>> If tools already exist which provide this functionality by integrating
>> with a "base product" (command-line SVN), why should it be forced into
>> another "base product" (TSVN).
> Because the existing tool is zero user friendly.
You will get nowhere at all with that argument. We have thousands of
users (probably hundreds of thousands), and this is the first request
for this feature that I have heard. It may be 'zero user friendly' to
you but most people are not complaining.
To get this to work efficiently is going to require server support,
and for that you need to ask on the Subversion users list.
: oo // \\ "De Chelonian Mobile"
: (_,\/ \_/ \ TortoiseSVN
: \ \_/_\_/> The coolest Interface to (Sub)Version Control
: /_/ \_\ http://tortoisesvn.net
To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-06-16 19:06:23 CEST