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