[PD-dev] time for svn?

Frank Barknecht fbar at footils.org
Sun Feb 26 10:30:04 CET 2006

Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

> First off, it would be great if you SVN users could explain the  
> differences from CVS and how it will affect us.  For example, I don't  
> get the branch=folders stuff, that doesn't exist in CVS.

I think it's important that everyone reads the relevant chapters in
the SVN book on branching, tagging, and repository layout: 
(Chapters 2 and 4, of course the others are good to read as well.)

Basically the main conceptual difference between CVS and SVN in this
area is, that branches and tags are simply copies. Want to make a tag?
Use: "svn copy mystuff somewhere_else".  Need a branch instead? Use:
"svn copy somewhere_else".  Oh, and the tag called "HEAD" in CVS is
usually a directory called "trunk" in SVN.

In both cases "somewhere_else" will just be copies of "mystuff", a
kind of snapshot. Tags then are snapshots, which you will never touch
again, while branches are snapshots to work on further.

For the repository layout this means, that we should have everything,
that could become a tag or branch of its own, in its own directory, so
that copying becomes easy. Our externals for example might like to
find Pd's headers in "../../../pd/src". Now with a layout like: 


creating a complete tag would be done like: 

$ svn copy trunk tags/pd-all/pd-all-0.39

And you could create a workign branch for pd-extended easily:

$ svn copy trunk branches/pd-extended/pd-extended-0.39

Creating just a pd-release-tag also is possible: 

$ svn copy trunk/pd tags/pd/pd-0.41-test2

however doing the same for externals: 

$ svn copy trunk/externals tags/externals/pd-externals-for-0.41

will add a new directory level so that headers in "../../../pd/src"
won't be found anymore. This has to be taken into account.

 Frank Barknecht                 _ ______footils.org_ __goto10.org__

More information about the Pd-dev mailing list