[clo-devel] Standard subversion repository layout

Erik Huelsmann ehuels at gmail.com
Thu Jan 26 21:16:09 UTC 2006


Hi!

While CVS - through its concept of modules - somewhat dictated the use
of the repository, Subversion doesn't do this.  Standardising on
repository layout for all of clo has some advantages though: if you
decide to do that, it will be possible for example to provide a
standard hook script to update the project website when a change is
committed for it.

There are several possibilities to standardise on (taking cl-irc as an example):

First:
 /
  cl-irc/
         trunk/
         branches/
         tags/
  public_html/

Second:
 /
  cl-irc/
         trunk/
              public_html/
         branches/
         tags/

Third:
 /
    trunk/
         cl-irc/
         public_html/
    branches/
    tags/


The third option is the layout you get when converting the existing
cl-irc repository using cvs2svn.  In my opinion, it's the least
favorable, since normally tags and branches are created with copies
from trunk, meaning all modules get tagged at the same time...

The second option wouldn't be my favorite either, since, dist scripts
would then package the website (unless special action is taken not
to).  I don't think websites belong in a dist tarball.

The first option would be my favorite, since I don't think of a
website as something needing tags and branches. This setup allows for
separate tags for all modules, which is quite sane in my opinion.

That's all folks!

Oh, well, if you decide which you want to standardise on (remember: 3
is what you get when converting from CVS), I don't mind writing the
hook.

bye,


Erik.


More information about the clo-devel mailing list