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
signature.asc
Description: Digital signature

