= Notes/Subversion/Importing = == Importing RCS files to a repository == STILL WORKING ON THIS PAGE === Initial Import === Just importing the miriad tree as it stands is unsatisfactory, because we lose the revision history. So we use {{{cvs2svn}}}. '''Note:''' there is a [http://cvs2svn.tigris.org/issues/buglist.cgi?target_milestone=---&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&field0-0-0=longdesc&type0-0-0=substring&value0-0-0=file%20already%20exists&field0-0-1=short_desc&type0-0-1=substring&value0-0-1=file%20already%20exists&field0-0-2=status_whiteboard&type0-0-2=substring&value0-0-2=file%20already%20exists bug] in the version of {{{cvs2svn}}} available in the Debian ''sarge'' release that causes the import to die partway through. The version available in Debian ''etch'' works correctly. {{{ % mkdir miriad % rsync -av /nfs/atapplic/miriad/ miriad/ # method 1 # we'll create a new repository in a directory named 'svnmiriad' % cvs2svn -s svnmiriad miriad # method 2 # we can create an empty repository named 'svnmiriad' and load via a dumpfile % cvs2svn --dumpfile=20071123.svndump miriad % svnadmin load svnmiriad < 20071123.svndump # method 3 # add to an existing repository % svnadmin create svnmiriad % cvs2svn --existing-repos -s svnmiriad miriad }}} To do later imports, we would have to do something like this: {{{ % mkdir miriad2 % rsync -a /nfs/atapplic/miriad/ miriad2/ # create a new repos % cvs2svn -s svnmiriad2 miriad2 # assuming a repository named 'svnmiriad' % svn merge -rM:N svnmiriad2 svnmiriad #??? # M and N are revision numbers in the svnmiriad2 repository. }}} Not everything in the {{{miriad}}} directory gets imported (e.g. the binaries), because they have no RCS file. === next phase === tag the raw import, before we start to muck around with it. need to remove the compiled binaries No - the binaries never get checked into RCS so they aren't imported to svn. need to check out the code (and svn add all the files?) No - just do the cvs2svn dump. that does the checkout but it leaves the source in the '.rcs' directory. Must move it from there. The dump leaves darwin_ppc, darwin_x86 there as well. These contain just a short GNUmakedefs file. Diffing them against the version in {{{scripts/darwin_*}}} indicates they are cruft and can be removed. check for things that should have been in RCS and weren't. This reveals some files with {{{,x}}} as their RCS suffix instead of the default {{{,v}}}. {{{etc/archive}}} is not (all) in RCS. Ditto {{{linpack, config, at_friends}}}. {{{linux, linux64, sun4sol, unicos}}} platform-specific directories aren't there but the {{{darwin_}}} ones are. check the programs are the same at the current revision. need to change the chkout, chklog targets need to add handlers of .svn directories The GNUmakedefs defines a 'MIRFTP' variable; the comment about solaris-only is wrong. ---- [wiki:Notes Notes Home]