[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Managing package sources with subversion?



Marcelo E. Magallon wrote:
>  I was looking for some pointers about managing package sources with
>  subversion.  I've got a grasp of the basics and I have looked at a
>  couple of examples (most notably Branden's SVN repository for the
>  XFree86 packages).  My main concern right now is migrating an
>  _existing_ CVS repository which is being managed with cvs-buildpackage
>  to SVN, but I'd appreciate other tips.

I'm only managing one package (mooix) with subversion so far, and I 
use a collection of handrolled scripts instead of cvs-buildpackage (and
my scripts support subversion now), but here's my two cents:

- cvs2svn works ok, but can be _very_ slow. Be prepared for significant
  archive bloat too. I also had to run it three times due to some
  subversion bug that I have supressed memory of.

- I haven't gotten this far yet, but I am very unsure whether it makes
  more sense to use one subversion repository per package, or one big
  repo for everything. The latter has few downsides in cvs, but it might
  make sense to go with the former for subversion.

- After I imported mooix into subversion, I went back and de-munged all
  the tags generated by cvs-buildpackage. cvs has limits on tag names
  (no periods allowed) so you probably have ugly tags like 
  debian_version_1_01 and so on. You can use svn mv, pointed directly at
  the repo, to rename these tags to debian_version_1.01 or whatever you
  feel is appropriate.
  
- For building the package, you have two choices. You can either build
  direct from the subversion checkout, which requires passing -I.svn
  to dpkg-buildpackage, and putting .svn in $DH_ALWAYS_EXCLUDE. This is
  a hack of course.

  Or you can use subversion's nice fast export command to get a clean
  export without the .svn directories and build in there. Note that svn
  export copies the tree, including any uncommitted changes, which is
  both good and bad. You can use it while offline. I'm probably going to
  switch to using this technique.
  
- After committing a new version, you'll want to generate a tag. Of
  course you do this with a svn cp; I modified my 'release' script to
  come up with subversion tags and do to svn cp automatically.

-- 
see shy jo

Attachment: pgpQ7gT3DrFEX.pgp
Description: PGP signature


Reply to: