Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 1997 15:51:31 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        eivind@nic.follonett.no (Eivind Eklund)
Cc:        terry@lambert.org, hackers@freebsd.org
Subject:   Re: CVS vendor branches
Message-ID:  <199704182251.PAA03213@phaeton.artisoft.com>
In-Reply-To: <199704182158.XAA15898@nic.follonett.no> from "Eivind Eklund" at Apr 18, 97 11:58:08 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> a way of hacking some of the wanted
> features is by treatingthe FreeBSD main development as a vendor
> branch, and using cvs import to maintain the parts you don't change.

This works, but then I have my history at the cost of losing that
of FreeBSD.  It also leaves the issue of integrating my history
blowing in the wind... when/if an integration takes place, the
only thing imported will be my tip, right?  So if I do something to
accommodat a VM bug (say), and it's later fixed, and I want to
branch back there for maintenance, now you must resolve conflicting
tips, right?



> If you have a good idea for how it would be possible to handle this
> situation (without thinking of what CVS can handle today), we can of
> course contact the cvs-info mailing-list and see if somebody there
> might benefit from similar features and can be convinced to write
> them :)

It would require the ability to "unbranch", and then handle features
on a feature-branch-by-feature-branch basis (merged feture branches
would "go away" when the head got past the branch point).

If you could combine this with history integration, and include a
tag prefix (for instance, it might be "feature_foo" in my tree,
but Bruce might have "feature_foo" in his tree, so to import
the tree from the branch point to the integration point would
require importing "terry_feature_foo" and "bruce_feature_foo"
seperately, to keep the histories intact).

Maybe they could incorporate a "tree vendor" tag, and by default
it would be "FreeBSD" for FreeBSD and "terry" for changes I made on
my machine?  Then I could export a "CVSup" (probably a CTM, actually)
with just the "terry" pieces, and everyone could coexist.  After
integration, the "terry.feature_foo" tag is replaced by the
"FreeBSD.terry_feature_foo" tag, and my local version of the changes
are removed from my tree and replaced with the new ones (basically,
the integrated feature changes "tree vendor" tag on integration of
the code -- it's renamed).

You could probably synchronize as many concurrent CVS trees as you
like, as long as you had export tools and basically the same insertion
mechanism as "CVSup" and a way to recognize an integration event to
trigger a rename... something like:

	cvs vendor -old terry -t feature_foo -new FreeBSD

?

					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704182251.PAA03213>