As you may have noticed, svn up doesn't work anymore for old trees. svn switch (with or without --relocate) will fail with an error. You are stuck. But you wanted to keep that tree. Desparation fills your mind. And then you google for help and all you see is "subversion can't do such a switch". Before you trash your trees and bang your head against the wall:
Use my trick to beat svn into cooperation. Sit back and relax.
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 . svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
Enter a v2 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repos/trunk/coreboot-v2 . svn switch --relocate svn://linuxbios.org/repos/trunk/coreboot-v2 svn://coreboot.org/repos/trunk/coreboot-v2 .
That's it. Have fun!
Regards, Carl-Daniel
On Jan 16, 2008 4:06 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 .
uh oh. What's this mean? svn switch svn://linuxbios.org/repository/coreboot-v3 . svn: 'svn://linuxbios.org/repository/coreboot-v3' is not the same repository as 'svn://rminnich@openbios.org/repository'
ron
On 17.01.2008 01:32, ron minnich wrote:
On Jan 16, 2008 4:06 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 .
uh oh. What's this mean? svn switch svn://linuxbios.org/repository/coreboot-v3 . svn: 'svn://linuxbios.org/repository/coreboot-v3' is not the same repository as 'svn://rminnich@openbios.org/repository'
Subversion is being unfriendly. You used a slightly different repository URL so it complains. Try this:
svn switch svn://rminnich@openbios.org/repository/coreboot-v3 .
Basically, the first "svn switch" has to conserve the user and domain part.
As long as Stefan keeps linuxbios.org, openbios.org and coreboot.org pointing to the same IP, using the command above is sufficient and you don't need the second svn command (with --relocate) at all.
Regards, Carl-Daniel
On Jan 16, 2008 4:06 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 .
svn switch svn://rminnich@openbios.org/repository/ . svn: Won't delete locally modified directory '.' svn: Left locally modified or unversioned files
So that looked good, but ...
svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
I think this second was my mistake: I got this: [rminnich@xcpu LinuxBIOSv3]$ svn up D southbridge D Kconfig D include D superio D mainboard D README D device D HACKING D doc D Rules.make D lib D northbridge D COPYING D arch D Makefile D util A coreboot-v3
Yep, it did a full checkout of coreboot-v3.
And then said: svn: Directory 'southbridge/.svn' containing working copy admin area is missing
Hmm. [rminnich@xcpu coreboot-v3]$ ls -l southbridge/.svn/ total 24 -r--r--r-- 1 rminnich rminnich 267 2008-01-16 16:46 entries -r--r--r-- 1 rminnich rminnich 2 2008-01-16 16:46 format drwxrwxr-x 2 rminnich rminnich 4096 2008-01-16 16:46 prop-base drwxrwxr-x 2 rminnich rminnich 4096 2008-01-16 16:46 props drwxrwxr-x 2 rminnich rminnich 4096 2008-01-16 16:46 text-base drwxrwxr-x 5 rminnich rminnich 4096 2008-01-16 16:46 tmp
Oh well, I have a coreboot v3 now :-)
ron
On 17.01.2008 01:50, ron minnich wrote:
On Jan 16, 2008 4:06 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 .
svn switch svn://rminnich@openbios.org/repository/ . svn: Won't delete locally modified directory '.' svn: Left locally modified or unversioned files
So that looked good, but ...
That looked really bad. It should have given you a message similar to the usual message of "svn up" in a working tree. The problem was that you removed the trailing "coreboot-v3" part from the URL and this caused svn to completely hose your tree.
svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
I think this second was my mistake: I got this: [rminnich@xcpu LinuxBIOSv3]$ svn up D southbridge [...]
I'd say the repo is now really broken. In the future, I'll add an explicit "if you think you see anything that looks like an error message, STOP IMMEDIATELY" to any mails with subversion commands.
Regards, Carl-Daniel
* Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net [080117 02:19]:
svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
This is completely not required. Just say
svn switch svn://linuxbios.org/repository/coreboot-v3 within the LinuxBIOSv3 directory as I wrote in the first mail. This worked fine for all of the dozen trees I have checked out.
I'd say the repo is now really broken.
How so? Everything works fine here.
Stefan
On 17.01.2008 14:54, Stefan Reinauer wrote:
- Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net [080117 02:19]:
svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
This is completely not required. Just say
svn switch svn://linuxbios.org/repository/coreboot-v3
within the LinuxBIOSv3 directory as I wrote in the first mail. This worked fine for all of the dozen trees I have checked out.
Sorry, but you wrote in your first mail dated 14.01.2008 20:51:
$ cd LinuxBIOSv3 $ svn switch svn://coreboot.org/repository/coreboot-v3
And that does not work because it changes the domain part. The instructions you delivered now are correct, though.
I'd say the repo is now really broken.
How so? Everything works fine here.
I meant Ron's local checkout. Sorry for being unclear.
Regards, Carl-Daniel
* Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net [080117 15:16]:
Sorry, but you wrote in your first mail dated 14.01.2008 20:51:
$ cd LinuxBIOSv3 $ svn switch svn://coreboot.org/repository/coreboot-v3
And that does not work because it changes the domain part.
Maybe you are using an obsolete version of subversion? Why should the domain part play any role here? The above scenario is exactly what I tried, and it works without any problems.
On 17.01.2008 15:38, Stefan Reinauer wrote:
- Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net [080117 15:16]:
Sorry, but you wrote in your first mail dated 14.01.2008 20:51:
$ cd LinuxBIOSv3 $ svn switch svn://coreboot.org/repository/coreboot-v3
And that does not work because it changes the domain part.
Maybe you are using an obsolete version of subversion? Why should the domain part play any role here? The above scenario is exactly what I tried, and it works without any problems.
Hm. I'm using svn, Version 1.4.4 (r25188) on openSUSE 10.3 and it refused to switch the domain part.
Regards, Carl-Daniel
Hi,
On Thu, Jan 17, Carl-Daniel Hailfinger wrote:
Maybe you are using an obsolete version of subversion? Why should the domain part play any role here? The above scenario is exactly what I tried, and it works without any problems.
Hm. I'm using svn, Version 1.4.4 (r25188) on openSUSE 10.3 and it refused to switch the domain part.
I use openSUSE 10.3 and for me it worked perfect.
In the future, I'll add an explicit "if you think you see anything that looks like an error message, STOP IMMEDIATELY" to any mails with subversion commands.
That, or "if you see any subversion command, STOP IMMEDIATELY".
:-)
Segher
DARK RED BOLD ATOMIC BOMB WARNING! (OK, it's not that bad, but... see below.)
On 17.01.2008 01:06, Carl-Daniel Hailfinger wrote:
As you may have noticed, svn up doesn't work anymore for old trees. svn switch (with or without --relocate) will fail with an error. You are stuck. But you wanted to keep that tree. Desparation fills your mind. And then you google for help and all you see is "subversion can't do such a switch". Before you trash your trees and bang your head against the wall:
Use my trick to beat svn into cooperation. Sit back and relax.
!!!! WARNING WARNING WARNING WARNING !!!! If you think you see anything that looks like an error message, STOP IMMEDIATELY. DO NOT try to be clever and fix up the commands yourself. It will HOSE your tree. The result of the first command should look like a normal "svn up" message. The second command should not produce any output at all. Write to the list with any questions before your tree is beyond recovery. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Enter a v3 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repository/coreboot-v3 . svn switch --relocate svn://linuxbios.org/repository/coreboot-v3 svn://coreboot.org/repository/coreboot-v3 .
Enter a v2 tree. Type the two commands below and be happy.
svn switch svn://linuxbios.org/repos/trunk/coreboot-v2 . svn switch --relocate svn://linuxbios.org/repos/trunk/coreboot-v2 svn://coreboot.org/repos/trunk/coreboot-v2 .
Regards, Carl-Daniel
On Jan 16, 2008 8:24 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
!!!! WARNING WARNING WARNING WARNING !!!! If you think you see anything that looks like an error message, STOP IMMEDIATELY. ... Write to the list with any questions before your tree is beyond recovery. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Here's a quick and easy way to back up your working copy (assuming it has uncommitted changes in it).
Because Subversion stores all of its version-control bits in the .svn subdirectories of a checkout, it's really easy to back up your working copy before trying any commands with which you are not familiar.
For example:
qubit@uglyduckling:~/src$ ls coreboot-v3 superiotool qubit@uglyduckling:~/src$ cp -r coreboot-v3/ coreboot-v3-BACKUP qubit@uglyduckling:~/src$ ls coreboot-v3 coreboot-v3-BACKUP superiotool
(... Now that you have a backup, do all of your hairy work on the coreboot-v3/ directory ...)
If you have SVN problems and want to start over, just restore from the backup:
qubit@uglyduckling:~/src$ rm -rf coreboot-v3 qubit@uglyduckling:~/src$ cp -r coreboot-v3-BACKUP/ coreboot-v3 qubit@uglyduckling:~/src$ ls coreboot-v3 coreboot-v3-BACKUP superiotool
I just did a fresh checkout of the coreboot-v3 tree and it looks like it's only 11 MB, so unless you have a lot of uncommitted source files, it should be relatively fast and simple to backup your working copy whenever you need to.
--R