Simon Large wrote:
> First to clear up some confusion, copy-from-WC is not the same as
> When you use the 'create branch from WC' the branch contains your
> exact WC state, local mods and all. It's not a pure server-side copy.
> Mostly you don't want to do that.
> When you 'create branch from HEAD' the branch is created from what the
> server knows as HEAD, which may be different from what you can see in
> your WC if someone else committed after you last looked. That is also
> potentially incorrect.
> What you normally want is to create a branch from the revision your WC
> is updated to, so you know exactly which rev it is based on before you
> commit, and that's what Stefan's thread is doing.
> As far as the worry about race conditions and the TSVN changing things
> while you are not paying attention, I like Todd's suggestion. Start
> out with none of the radio buttons checked. When the crawler thread
> completes it can fill out the specific revision box, assuming the user
> has not focussed on that box, fill in the rev and select that radio
> button. If the user sets focus on the rev box or selects any radio
> button then stop the thread.
The radio button is on HEAD when the dialog starts.
if the user *really* doesn't change one single thing in that dialog and
clicks "ok" to tag, the only race condition would be if the thread
changes the options from HEAD to revision-where-WC-was-last-updated-to.
If nobody did a commit in the meantime, that's not really a race
condition because it will be the very same.
If however someone else made a commit in between, the changed option
from HEAD to revision-where-WC-was-last-updated-to will even benefit the
> If that is still too much magic, then a separate button to check the
> WC revision and fill in the rev box would be another solution.
> BTW, what happens if the thread detects a mixed rev WC on its crawl,
> or local modifications? Should there be a warning about that? Maybe if
> the crawl is initiated by button there could be a warning dialog, or
> just a yellow triangle like there is for externals in the commit
Define "mixed rev WC" please. Almost every file has a different revision
(the 'last committed rev'), unless you've changed every single file in
your working copy for the last commit.
For local modifications, a warning is shown if the radio button is still
on HEAD when the thread finishes.
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
Received on 2008-06-19 12:59:01 CEST