Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 May 2002 15:58:03 -0700
From:      "Drew Tomlinson" <drew@mykitchentable.net>
To:        "Terry Lambert" <tlambert2@mindspring.com>
Cc:        <bmah@FreeBSD.ORG>, "Dave Hayes" <dave@jetcafe.org>, <freebsd-hackers@FreeBSD.ORG>, <freebsd-stable@FreeBSD.ORG>
Subject:   Re: Difference between RELENG_* and RELENG_*_BP
Message-ID:  <020d01c1f22c$d0c6b210$6e2a6ba5@lc.ca.gov>
References:  <200205022047.g42Klxb84582@hokkshideh2.jetcafe.org> <3CD1ACD6.5B2432DF@mindspring.com> <200205022128.g42LSXjr072995@intruder.bmah.org> <3CD1B790.DB547674@mindspring.com> <01c501c1f226$ecd7cfd0$6e2a6ba5@lc.ca.gov> <3CD1BFA5.FD745354@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message -----
From: "Terry Lambert" <tlambert2@mindspring.com>
Sent: Thursday, May 02, 2002 3:37 PM


> Drew Tomlinson wrote:
> > I'm just trying to understand. :)  How is RELENG_X_Y_BP different
from
> > RELENG_X_Y_RELEASE?
>
> For the most part, studying the FreeBSD source tree is a good lesson
> in how to be clever in your use of CVS.  The only place it really
> falls down is in the lack of vendor tagging for things lice sendmail,
> etc., which really want to be brought in on a vendor branch, and then
> branch tagged then rtagged, so that local modifications can be done
> without screwing with the ability to bring a new release of the code
> in on the vendor branch, and then re-tag and re-merge it.
>
> Archie Cobbs and Julian and Bryan Mann worked out a pretty good
> system, which we used at Whistle, and then for those things that
> didn't fit, I "rewrote history" by re-checking them in and retagging
> them.
>
> Archie wrote a little FAQ on that; I don't know if he'd be willing
> to share it.
>
> But to use the same approach for, for example, sendmail in FreeBSD,
> would require some Makefile changes, some .mk file changes, and a
> seperate parallel "module" branch (the main branch would check out
> from the module branch *with a particular tag* as part of the build
> process, and then descend into the checked out code).  It's not
> impossible to build without a CVS tree if you do that, but it makes
> it harder, so it's probably not an acceptable approach for FreeBSD
> to use directly.
>
> But to answer directly the question:
>
> RELENG_X_Y_RELEASE marks "end of work"
>
> RELENG_X_Y_BP marks "start of work".
>
> If you look at the diagram on the referenced web page, you end up
> with two different branch heads.
>
> --
>
> Like I said, you need a third dimension, or an angled line (pseudo
> Z axis) to represent it in a two dimensional diagram.  I'll use
> indentation (below) to represent an X/Z diagram off the RELENG_4
> point in the X/Y diagram.
>
> If it weren't for the need to rtag it to get the -SECURITY branch
> head, the _BP version would probably not have been done with an
> rtag, and would use a simple tag, instead.
>
> Look at the example in the middle.  It's confusing, because you
> would expect the tag ordering to be:
>
> RELENG_4
> RELENG_4_4 <---.--- could use "tag"
> RELENG_4_4_BP <---'
> RELENG_4_4_RELEASE
>
> because you would expect that, as time goes on, you would tack
> more and more suffixes onto the thing.  But the actual ordering is:
>
> RELENG_4
> RELENG_4_4_BP <---.--- needs "rtag"
> RELENG_4_4 <---'
> RELENG_4_4_RELEASE <--- From -STABLE, not -SECURITY
>
> Make sense now?

Yes it does.  Thank you for your through and detailed explaination.

Drew


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?020d01c1f22c$d0c6b210$6e2a6ba5>