svn madness

Hello-

Recently I had the experience of using svn and frankly I need to understand how svn works compared to cvsup.

When I compile kernels using cvsup I use a custom script that calls upon the various sup files. In this case, I used the stable-supfile to retrieve the desired sources. When the stable-supfile uses tag=RELENG9, I end up with the uname -a output of:

Code:
[11]root@test:/root # uname -a
FreeBSD test.dawnsign.com 9.0-STABLE FreeBSD 9.0-STABLE #6: Tue Jun 12 16:51:10 PDT 2012     
root@test.dawnsign.com:/usr/obj/usr/src/sys/GENERIC  i386
[11]root@test:/root #

However when I use svn as follows:

Code:
# svn checkout svn://svn0.us-west.FreeBSD.org/base/releng/9.0 /usr/src

I end up with this:
Code:
aries# uname -a
FreeBSD aries.dawnsign.com 9.0-RELEASE-p4 FreeBSD 9.0-RELEASE-p4 #0 r240684: Wed Sep 19 11:28:26 PDT 2012     
root@aries.dawnsign.com:/usr/obj/usr/src/sys/ARIES  i386
aries#

Why do I get STABLE when using cvsup and get RELEASE when using svn with the 'same' tag?

When I attempt to:

Code:
# svn checkout svn://svn0.us-west.FreeBSD.org/base/stable/9 /usr/src

I end up with FreeBSD 9.1-PRERELEASE! (Sorry I didn't capture the uname -a output at the time).

Why?!?

I actually want to retrieve the 9.0 stable version and not the 9.0 release version using svn. And certainly not the 9.1 prerelease version!

~Doug
 
Because you are using two separate tags, one for -STABLE, one for -RELEASE. :) svn is doing exactly what you tell it to. You are just telling it the wrong info. :)

The correct svn source for 9-STABLE is: svn://svn0.us-west.freebsd.org/base/stable/9

You can update to that via the following commands:
Code:
# cd /usr/src
# svn switch svn://svn0.us-west.freebsd.org/base/stable/9

Note: atm, 9-STABLE == 9.1-PRERELEASE
 
Maybe my ascii drawing from this post clears things up for you?

http://forums.freebsd.org/showpost.php?p=187519&postcount=4

9-STABLE (stable/9 in svn) is now internally 9.1-PRERELEASE because it was called that before the 9.1-RELEASE branch RELENG_9_1 (releng/9.1 in svn) was split off from it. It will be 9.2-STABLE once 9.1-RELEASE gets released.

There is really only one RELENG_9 branch regardless of what it's called internally.
 
dougs said:
When I compile kernels using cvsup I use a custom script that calls upon the various sup files. In this case, I used the stable-supfile to retrieve the desired sources. When the stable-supfile uses tag=RELENG9, I end up with the uname -a output of:
Code:
[11]root@test:/root # uname -a
FreeBSD test.dawnsign.com 9.0-STABLE FreeBSD 9.0-STABLE #6: Tue Jun 12 16:51:10 PDT 2012     
root@test.dawnsign.com:/usr/obj/usr/src/sys/GENERIC  i386
[11]root@test:/root #
The date of the build is Jun 12, so it was actually not correctly updated. Correctly updated you should end up with the same result as with the svn source.
 
Okay, suppose I want 9.0-STABLE and not 9-STABLE which apparently gives me 9.1-PRERELEASE, how do I do that? Do this?

Code:
# svn switch svn://svn0.us-west.freebsd.org/base/stable/9.0

There isn't a 9.0 folder in the svn site... For example, when I used cvsup on a 8.x system, I was able to stick to 8.2-STABLE simply by using tag=RELENG_8_2 in the standard-supfile and using that file as part of the cvsup process. Even if 8.3 came out, by using that tag, I was able to stay with the 8.2-STABLE version.
 
@kpa: lol, reading the third line of your last post aloud brings back memories of the Abbott and Costello routine, "Who's on first?"!

FreeBSD repositories have been a mystery to me for ages. Your diagram helps (some). ;)
 
dougs said:
Okay, suppose I want 9.0-STABLE and not 9-STABLE which apparently gives me 9.1-PRERELEASE, how do I do that? Do this?

Code:
# svn switch svn://svn0.us-west.freebsd.org/base/stable/9.0

There isn't a 9.0 folder in the svn site... For example, when I used cvsup on a 8.x system, I was able to stick to 8.2-STABLE simply by using tag=RELENG_8_2 in the standard-supfile and using that file as part of the cvsup process. Even if 8.3 came out, by using that tag, I was able to stay with the 8.2-STABLE version.
There is no 9.0-STABLE. There is a 9.0-RELEASE and a 9-STABLE and as phoenix stated, it is currently equal to 9.1-PRERELEASE. Soon there will be a 9.1-RELEASE and 9-STABLE will move on.
 
In addition to my previous post a translation table might help ;):
Code:
| FreeBSD Version                | CSup tag             | svn            |
==========================================================================
| 9-Stable                       | RELENG_9             | stable/9       |
| 9.1-Release + security updates | RELENG_9_1           | releng/9.1     |
| 9.1-Release, no updates        | RELENG_9_1_0_RELEASE | release/9.1.0  |
| 9.0-Release + security updates | RELENG_9_0           | releng/9.0     |
| 9.0-Release, no updates        | RELENG_9_0_0_RELEASE | release/9.0.0  |
 
funky-

That table does help clarify things in my mind! It does look like I'll stick with using releng/9.0 as my tag when using svn.

In retrospect, I guess that I was thrown by the fact when I asked for 9-STABLE I ended up with a 9.0-PRERELEASE. I would have expected a version that was considered "stable". Which begs this question: is 9.0-PRERELEASE considered stable in that sense? I mean, a prerelease implies in my little mind that it's not ready for prime time. Or is it?

~Doug
 
Back
Top