HEADS UP: CVS->SVN repository conversion

Ulrich Spörlein uqs at spoerlein.net
Tue Mar 6 21:33:45 UTC 2012


On Mon, 2012-03-05 at 02:41:13 +0900, Hiroki Sato wrote:
> Hi,
> 
>  A prototype of the CVS->SVN repository conversion of the doc and www
>  tree is ready for public review.  It delayed by various reasons but
>  we need to go ahead with that direction to make it possible to merge
>  useful proposals which were submitted and involving large-scale
>  changes to the tree.
> 
>  The conversion itself will be done in a straightforward way.  The
>  infrastructure (ACL, commit log, etc) will be almost the same as the
>  src tree.  The difference is no SVN->CVS import will be done after
>  the conversion date.
> 
>  The following is descriptions of the prototype and migration plan.
>  You can try to check out the tree while the URL of the repository is
>  a temporary one, of course.  As explained in the document, the date
>  when it happens is just after 8.3-RELEASE (currently set to April 7).
>  It might be changed slightly but April is the target.
> 
>  Can you please check if there is something I am missing?  Please
>  focus on technical aspects of the conversion.  Detail discussions
>  about how to use the converted repository such as projects/ policy,
>  branching, etc. should be held after we can obtain the same rendering
>  results from the converted repository and other automated
>  infrastructure for mirroring works fine as before in the FreeBSD.org
>  cluster.
> 
> ---- http://docsvn.allbsd.org/MIGRATION.txt ----
> 
> CVS->SVN conversion of the doc and www Repositories
> 
> 1. Repository Layout
> 
>  You can checkout the converted repository by using:
> 
>  % svn co http://docsvn.allbsd.org/base
> 
>  The repository layout in the URL is the following:
> 
>  doc/
>  www/
>  release/[0-9]+.[0-9]+.[0-9]+
>  branches/
>  user/
>  projects/
>  svnadmin/
> 
>  Note that this is temporary one for conversion and please read the
>  final one explained below.  The doc/ and www/ are trunk of each
>  existing repository converted from CVS.  Symbolic tags are converted
>  to release/* (the rule "RELEASE_\d+_\d+_\d+ -> release/\1.\2/\3"
>  was applied here).  Most of meaningless tags were eliminated.
> 
>  The branches/* were needed only for conversion purpose (technical
>  reason).  This means they will be removed by svn rm soon.  Some
>  discussions were held about branching of contents such as Handbook
>  but there will be no management policy change at the moment of
>  this conversion.
> 
>  user/, projects/, and svnadmin/ are for the same purpose as the src
>  repository (empty at this moment).

I have a draft change for the user/ and projects/ guidelines for src
that I want to send out for discussion soon. I would welcome it, if
doc's user/ and projects/ trees would not rot away like in src land.

>  After this converted repository is populated, the following steps
>  will be followed:
> 
>  a) deprecate branches/ by simple svn rm
>  b) do svn cp of "www/<lang>" to "doc/<lang>/htdocs"
>  c) deprecate www/ after updating build infrastructure
> 
>  So, the final layout will be the following:
> 
>  doc/
>  release/[0-9]+.[0-9]+.[0-9]+
>  user/
>  projects/
>  svnadmin/
> 
> 2. Migration Plan
> 
>  2-1) Freeze the current CVS repository on Saturday, April 7 (after
>       8.3R release date).  No more commit to the CVS repository after
>       this freeze.  Populate the converted SVN repository, and commit
>       necessary changes for repository administration, build
>       infrastructure for www.FreeBSD.org, and etc. just after that.
> 
>  2-2) Apply www/<lang> -> doc/<lang>/htdocs change and commit
>       necessary changes for the www build.  This is basically a
>       directory renaming and merge of duplicate parts in www/share and
>       doc/share.  This will be done just after 2-1).
> 
>  2-3) Open the converted repository for doc committers within that day
>       if there is no major problem.
> 
>  Notes:
> 
>   a) No automatic SVN->CVS import after the conversion like the src
>      repository.  This is because it is not reliable and deprecating
>      CVS support of the doc and www repository should have a limited
>      impact for most of people.
> 
>   b) We will have to see how well the migration goes for a while after
>      the conversion date.  I think 2 or 3 weeks are enough.  More
>      specifically, for that period, normal commits to the doc/
>      directory are allowed but sweeping changes or using user/ and
>      projects/ are not allowed.  After such a period, let us use user/
>      and projects/ for large projects like Handbook reorganization and
>      SGML->XML conversion.
> ----

Thanks for doing this!

I still believe it's wrong to have multiple SVN trees (i.e. src, doc,
ports) and there's no good technical argument against having it all in
one repo (just look at what ASF is doing). It would retain history when
we move stuff from src to doc or vice versa and it would keep SVN
revisions unique inside the FreeBSD project.

Cheers,
Uli



More information about the freebsd-doc mailing list