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

Re: [TSVN] 1.2.2... sad story

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2005-09-01 21:11:19 CEST

Flex wrote:

> First, I don't know why I'm telling this because I can't give a
> reproduction on what happened but anyway... may trigger some though.

Your mails keep getting bigger and bigger. And harder to read.
Can you try to keep your reports small next time? Just keep the
important information ;)

> I have TSVN 1.2.2 official (yep, restarted after install) and a huge
> project...
>
>
> Project/trunk
> --CORE
> --CORE\Icons
> --COMMON (external)
> --Dir1
> --Dir2
> --Dir3
> --...
> --File1.c
> --File2.c
> --File3.c
> --...
>
> I had to split it to 2 subprojects and use the CORE part in both. The
> goal was:
>
> Project/trunk
> --CORE
> --CORE\Icons
> --Subproject1
> ----COMMON (external)
> ----Dir1
> ----Dir2
> ----Dir3
> ----...
> ----File1.c
> ----File2.c
> ----File3.c
> ----...
> --Subproject2
> ----COMMON (external)
> ----Dir1
> ----Dir2
> ----Dir3
> ----...
> ----File1.c
> ----File2.c
> ----File3.c
> ----...
>
> So what I did:
>
> 1. Committed the whole trunk folder
> 2. Created a new Subproject1 folder in the Rep browser
> 3. Updated the trunk so I get this new folder in the wc

Why didn't you create the new folder in the wc, added it and committed
it from your wc? Doing that via repobrowser just seems a little strange
to me - but maybe that's just me.

> 4. Selected all files & folders extept the Subproject1 (some were under
> verison control, some not) and used TSVN move to SubProject1.
> 5. TSVN complained that some folder had local modifications. This was
> not true, I had just updated it and all was green so I let it continue.

TSVN always shows you that error if the move didn't work the first time
(without the --force option), no matter what error really happened. I
think I have to change that some time.

> 6. Operation failed for some reason around this local modification

With what error message?

> 7. I selected manually the remaining files & folders and tsvn moved to
> the Subproject1
> 8. Again, a complain of local modification but it passed now so I got:
>
> Project/trunk
> --Subproject1
> ----CORE
> ----CORE\Icons
> ----COMMON (external)
> ----Dir1
> ----Dir2
> ----Dir3
> ----...
> ----File1.c
> ----File2.c
> ----File3.c
> ----...
>
> 9. TSVN Move the CORE folder to upper level in Project/trunk. Success

I don't know why this worked. You can't move a file or folder again
without having committed first. You should have got an error message
here and the move shouldn't have worked!

Subversion only can move files/folders *once*, as you only can rename a
file/folder once. If you want to move/rename again, you *must* commit
the first move first. Then you can do the second move.

But I'm a little concerned that you didn't get an error message.

> 10. I decided to commit this one but it failed - Project/trunk/COMMON
> was locked?!

You can't really move an external folder. You should delete (normal
delete) the external folder, then update again (the external folder is
not really part of the working copy - it's just checked out because of
the svn:externals property).

> 11. Done a cleanup - passed
> 12. Commit failes again so I went to see what the heck this COMMON
> folder consists... I found 2 things:
>
> First, the folder has dissapeared from the repository where it was
> (remeber it was used via svn:externals). Strange - I imported it again

That's because you moved the external folder - again I'm concerned that
you didn't get an error message and that the move even worked!

> Second, the COMMON folder contained *second* common folder which was
> under source control but the files in int were not under source control:
> I'm marking with (*) files & folders under source control:
>
> COMMON(*)
> --File1(*)
> --File2(*)
> --COMMON(*)
> --File1
> --File2
>
> 13. Worried enough I have tsvn deleted the second COMMON folder inside.
> 14. Tried to commit - still the same "COMMON" is locked error
> 15. Tried cleanup, unlock, check for modifications + check repository,
> checked the settings on that folder in the wc and in the repository -
> nothing

'unlock' doesn't help at all. The 'folder is locked' error message means
that the folder is locked by the file system or the working copy. It has
nothing to do with Subversion locks (reserved checkouts). Unfortunately,
the same word (locked) is used in even more places throughout Subversion
with different meanings.

> 16. A bit annoyed I deleted the damn COMMON folder and did an update -
> the COMMON folder was checked out alongside with all of the files in and
> then an error that the COMMON folder is locked was given again (??!)
>
> 17. I gave up and leaved this COMMON folder for better times, made some
> modifications to the project and decided to open it with the current
> structure. For that I set the properties of Project/trunk/Subproject1 to
> svn:externals the CORE folder and did an update. Although I still
> received the damn "locked" error, I was able to checkout the CORE folder
> so now the project looked:
>
> Project/trunk
> --CORE
> --CORE\Icons
> --Subproject1
> ----CORE (external)
> ----CORE\Icons (external)
> ----COMMON (external)
> ----Dir1
> ----Dir2
> ----Dir3
> ----...
> ----File1.c
> ----File2.c
> ----File3.c
> ----...

Check the properties on Subproject1, and the URL of Subproject1 and
Subproject1\COMMON.
What I think happened here:
Subproject1 contains the svn:externals property for COMMON, but COMMON
also is part of the Subproject1 folder (*not* as an external, but for
real). So Subversion tries to update Subproject1 and COMMON, then tries
to check out COMMON again as an external and fails because the URL's
don't match - you see the 'locked' error message.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Sep 1 21:11:41 2005

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