On October 5, 2006 7:02:29 PM -0700 Chad Lewis <[EMAIL PROTECTED]> wrote:

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.

How are branches not arbitrary parent and child relationships?  (except
in cvs where branches pretty much suck but still it's close)

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.

That is what I meant by exposure -- whether or not "private" code is
available to others.  But how does that matter?

The difference between teamware (or git or bk or mercurial) and cvs (or
svn or p4) here is that everyone can see all private branches and everyone
can see each change in a private branch (again, modulo protections).
That doesn't matter to the main branch.  The code is not in the main
branch logically (physically doesn't matter) until you integrate or
putback.

My point is that having a private branch, where you can check in changes
to your heart's content, and re-branch at will, and don't have to follow
"must compile" rules, can be handled by most any VCS.  Which is what
David was saying is needed for it to replace the functionality of a
versioned filesystem.

Some of them (eg p4) handle branching much better than others, making
this easier, but all of them can do it.

Wow, I'm surprised teamware doesn't have changelists or a similar concept.
Talk about stone ages. :-)

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

Reply via email to