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

a test of converting to subversion



I have done a test import of d-i's cvs repository into subversion. The
repository is available for anyone who has commit access to d-i at
svn+ssh://svn.debian.org/svn/d-i/trunk or at
svn://svn.debian.org/d-i/trunk for anonymous access, and can also be
browsed with viewcvs at http://svn.debian.org/viewcvs/d-i/

This is a test repository, so don't worry about messing it up, and don't
expect it to be synced with current cvs (unless you keep it that way).
Do beat on it, build stuff from it to make sure it builds ok, throw all
the commits you make to cvs at it as well, whatever you like. Let's find
out if there are any problems with working with d-i in subversion before
we take the plunge for real.

===========================================================================
A 5 minute tutorial for svn newbies who know some cvs:

  To check it out:
  	svn co $URI d-i
	Example: svn co svn+ssh://svn.debian.org/svn/d-i/trunk d-i

	Note that if you are using ssh and your alioth username difers
	from your local usernamem, you will need to first set up
	~/.ssh/config to log into svn.debian.org using your alioth
	username. For example:

	Host svn.debian.org
	        User joeyh

  To see what's changed in your tree:
  	svn status

  To update, commit, add or delete files or directories:
  	same as cvs
	Example: svn update; svn add myfile; svn commit -m "added myfile"
  
  To undo an uncommitted change:
  	svn revert file
	Example: svn revert myfile  # decided not to add it after all

  To move a file or directory:
  	svn mv a b
	Example: svn mv tools/cdebconf bob

  For more documentation:
  	http://svnbook.red-bean.com/
===========================================================================

I know of the following issues with the svn repository:

 - Many of the tags were converted as whole-repository tags when they
   really only apply to one release of one udeb. This can be fixed by
   some kind of script later; for now I have moved the cvs tags out of
   the way to svn+ssh://svn.debian.org/svn/d-i/tags/fromcvs

 - A few similar problems in branches, such as the languagechooser_ng
   branch.

 - Alioth is not running subversion 1.0 yet (though I had to use 1.0 to
   do the conversion), and this repo is in the old format. No real
   problem.

 - .cvsignore files are not converted to svn:ignore properties.

 - cvs2svn did not like it that parts of build/ had a mrvn tag, while
   other parts apparently had a mrvn branch. I removed the mrvn tag
   before importing. Next time I will rename it to mrvn_tag to avoid
   losing any information at all.

 - There are quite a lot of references to CVS in the tree.

A word on repository layout. I think this is the sanest layout to use
for d-i; luckily it's very close to what cvs2svn gave us (except the
mess in tags):

	trunk/
		tools/
			cdebconf/
		build/
	branches/
		d-i/
			beta2
			release
		tools/
			languagechooser/
				languagechooser_ng
	tags/
		d-i/
			sarge-RELEASE
		tools/
			langugagechooser/
				0.01
				0.02
		build/
			20040101
			20040112
	people/
		joeyh/
			whatever

With the idea being that d-i is one whole project and we will sometimes
want to branch or tag the whole thing as we did for beta2 or a release,
but it has subprojects, which also need their own tags and sometimes
branches. I've found that in a repository with such subprojects, it is
easiest to automate the tagging if the tags/ structure closely mirrors
trunk/; with the above layout you can take the path to the directory you
are tagging, s/trunk/tags/ and append the tag name on the end to
automatically get a tag path.

The people directory is borrowed from the XSF subversion repository, the
idea being that you can make your own home directory in there,and make
large or experimental changes without worrying about messing up other
stuff.

I have made svn+ssh://svn.debian.org/svn/d-i/people/joeyh/reorg which
holds a copy of the d-i trunk, with stuff moved around into a possibly
saner layout. If you have a better layout idea, feel free to copy that
tree and create a better version, but please don't commit to
people/joeyh directly.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: