On Oct 5, 2006, at 6:48 PM, Frank Cusack wrote:

On October 5, 2006 5:25:17 PM -0700 David Dyer-Bennet <[EMAIL PROTECTED] b.net> wrote:
Well, unless you have a better VCS than CVS or SVN.  I first met this
as an obscure, buggy, expensive, short-lived SUN product, actually; I
believe it was called NSE, the Network Software Engineering
environment.  And I used one commercial product (written by an NSE
user after NSE was discontinued) that supported the feature needed.
Both of these had what I might call a two-level VCS.  Each developer
had one or more private repositories (the way people have working
directories now with SVN), but you had full VCS checkin/checkout (and
compare and rollback and so forth) within that.  Then, when your code
was ready for the repository, you did a "commit" step that pushed it
up from your private repository to the public repository.

I wouldn't call that 2-level, it's simply branching, and all VCS/SCM
systems have this, even rcs.  Some expose all changes in the private
branch to everyone (modulo protection mechanisms), some only expose changes
that are "put back" (to use Sun teamware terminology).

Both CVS and SVN have this.

-frank


David is describing a different behavior. Even a branch is still ultimately on the single, master server with CVS, SVN, and more other versioning systems. Teamware, and a few other versioning systems, let you have more arbitrary parent and child relationships.

In Teamware, you can create a project gate, have a variety of people check code into this project gate, and do all of this without ever touching the parent gate. When the project is done, you then checkin the changes to the project gate's parent.

The gate parent may itself be a child of some other gate, making the above project gate a grand-child of some higher gate. You can also change a child's parent, so you could in fact skip the parent and go straight to the "grand" parent if you wish.

For that matter, you can re-parent the "parent" to sync with the former child if you
had some reason to do so.

A Teamware putback really isn't a matter of exposure. Until you do a putback to the parent, the code is not physically (or even logically) present in the parent.

Teamware's biggest drawbacks are a lack of change sets (like how Subversion tracks simultaneous, individual changes as a group) and that it only runs via file access
(no network protocol, filesystem or NFS only.)

Mercurial seems to be similar to Teamware in terms of parenting, but with network protocol
support builtin. Which is presumably OpenSolaris will be using it.

ckl


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to