Editing Cvs2svn
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
At the end of 2007, preparations to convert BRL-CAD's CVS repository to Subversion began. The cvs2svn tool was used to perform the conversion, initially with version 1.5.1 but later using the latest available 2.0.1 version. The page is provided for historic reference on how the repository was converted including the steps that were taken. | At the end of 2007, preparations to convert BRL-CAD's CVS repository to Subversion began. The cvs2svn tool was used to perform the conversion, initially with version 1.5.1 but later using the latest available 2.0.1 version. The page is provided for historic reference on how the repository was converted including the steps that were taken. | ||
− | Using version 1.5.1, cvs2svn using all default options took over 7 hours of processing before it filled up available hard disk space (only 3GB was available at the time). More space was made available and cvs2svn version 2.0.1 was installed, which provided a new more direct and faster method of extracting data from the CVS repository. Using the same default options, version 2.0.1 took just under 3 hours | + | Using version 1.5.1, cvs2svn using all default options took over 7 hours of processing before it filled up available hard disk space (only 3GB was available at the time). More space was made available and cvs2svn version 2.0.1 was installed, which provided a new more direct and faster method of extracting data from the CVS repository. Using the same default options, version 2.0.1 took just under 3 hours. The details of this conversion process are documented in following. |
= CVS repository preparations = | = CVS repository preparations = | ||
Line 21: | Line 21: | ||
Upon performing a full checkout of the entire newly imported Subversion repository, the checkout failed in a branch (rel-5-1-branch) on checkout of cup.g from html/manuals/mged/. Upon review of the CVS root files, it was not apparent what was unique about cup.g,v other than the fact that there also existed a Cup.g,v (both of which existed in the Attic). As that file was entirely a triviality as a v4 binary BRL-CAD database file used in a documentation example, both the uppercase and lowercase files were removed. | Upon performing a full checkout of the entire newly imported Subversion repository, the checkout failed in a branch (rel-5-1-branch) on checkout of cup.g from html/manuals/mged/. Upon review of the CVS root files, it was not apparent what was unique about cup.g,v other than the fact that there also existed a Cup.g,v (both of which existed in the Attic). As that file was entirely a triviality as a v4 binary BRL-CAD database file used in a documentation example, both the uppercase and lowercase files were removed. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Single project vs multiproject = | = Single project vs multiproject = | ||
Line 150: | Line 138: | ||
ignore_case=True, | ignore_case=True, | ||
), | ), | ||
+ | |||
+ | MimeMapper(r'/path/to/mime.types'), | ||
CVSBinaryFileEOLStyleSetter(), | CVSBinaryFileEOLStyleSetter(), | ||
Line 225: | Line 215: | ||
= Automatic properties = | = Automatic properties = | ||
− | + | The following auto-props file was used: | |
− | |||
− | |||
<pre> | <pre> | ||
[auto-props] | [auto-props] | ||
*.[0-9] = svn:mime-type=text/plain;svn:eol-style=native | *.[0-9] = svn:mime-type=text/plain;svn:eol-style=native | ||
− | |||
*.ac = svn:eol-style=native;svn:mime-type=text/plain | *.ac = svn:eol-style=native;svn:mime-type=text/plain | ||
*.ai = svn:mime-type=application/illustrator | *.ai = svn:mime-type=application/illustrator | ||
Line 238: | Line 225: | ||
*.asc = svn:eol-style=native;svn:mime-type=text/plain | *.asc = svn:eol-style=native;svn:mime-type=text/plain | ||
*.avi = svn:mime-type=video/x-msvideo | *.avi = svn:mime-type=video/x-msvideo | ||
− | |||
− | |||
*.bmp = svn:mime-type=image/bmp | *.bmp = svn:mime-type=image/bmp | ||
− | *.c = svn:eol-style=native | + | *.c = svn:eol-style=native |
− | + | *.cpp = svn:eol-style=native | |
− | + | *.cxx = svn:eol-style=native | |
− | |||
− | *.cpp = svn:eol-style=native | ||
− | *. | ||
*.css = svn:mime-type=text/css;svn:eol-style=native | *.css = svn:mime-type=text/css;svn:eol-style=native | ||
− | *. | + | *.doc = svn:mime-type=application/msword |
− | + | *.dsp = svn:eol-style=CRLF | |
− | + | *.dsw = svn:eol-style=CRLF | |
− | |||
− | |||
− | |||
− | *.dsp = svn:eol-style=CRLF | ||
− | *.dsw = svn:eol-style=CRLF | ||
− | |||
− | |||
*.eps = svn:mime-type=application/postscript | *.eps = svn:mime-type=application/postscript | ||
− | |||
*.g = svn:mime-type=application/octet-stream | *.g = svn:mime-type=application/octet-stream | ||
*.gif = svn:mime-type=image/gif | *.gif = svn:mime-type=image/gif | ||
Line 265: | Line 239: | ||
*.gtar = svn:mime-type=application/x-gtar | *.gtar = svn:mime-type=application/x-gtar | ||
*.gz = svn:mime-type=application/x-gtar | *.gz = svn:mime-type=application/x-gtar | ||
− | *.h = svn:eol-style=native | + | *.h = svn:eol-style=native |
− | *.hpp = svn:eol-style=native | + | *.hpp = svn:eol-style=native |
− | *. | + | *.hxx = svn:eol-style=native |
*.htm = svn:mime-type=text/html;svn:eol-style=native | *.htm = svn:mime-type=text/html;svn:eol-style=native | ||
*.html = svn:mime-type=text/html;svn:eol-style=native | *.html = svn:mime-type=text/html;svn:eol-style=native | ||
− | *. | + | *.igs = svn:mime-type=model/iges |
*.ico = svn:mime-type=image/x-icon | *.ico = svn:mime-type=image/x-icon | ||
− | |||
*.in = svn:eol-style=native;svn:mime-type=text/plain | *.in = svn:eol-style=native;svn:mime-type=text/plain | ||
− | *.itcl = svn:eol-style=native | + | *.itcl = svn:eol-style=native |
− | *.itk = svn:eol-style=native | + | *.itk = svn:eol-style=native |
− | + | *.java = svn:eol-style=native | |
− | *.java = svn:eol-style=native | ||
*.jpeg = svn:mime-type=image/jpeg | *.jpeg = svn:mime-type=image/jpeg | ||
*.jpg = svn:mime-type=image/jpeg | *.jpg = svn:mime-type=image/jpeg | ||
− | |||
− | |||
*.m4 = svn:eol-style=native;svn:mime-type=text/plain | *.m4 = svn:eol-style=native;svn:mime-type=text/plain | ||
− | |||
*.mov = svn:mime-type=video/quicktime | *.mov = svn:mime-type=video/quicktime | ||
*.mp3 = svn:mime-type=audio/mpeg | *.mp3 = svn:mime-type=audio/mpeg | ||
*.mpg = svn:mime-type=video/mpeg | *.mpg = svn:mime-type=video/mpeg | ||
− | |||
− | |||
− | |||
*.nsi = svn:mime-type=text/plain;svn:eol-style=native | *.nsi = svn:mime-type=text/plain;svn:eol-style=native | ||
− | |||
*.pdf = svn:mime-type=application/pdf | *.pdf = svn:mime-type=application/pdf | ||
*.php = svn:mime-type=text/plain;svn:eol-style=native | *.php = svn:mime-type=text/plain;svn:eol-style=native | ||
*.pix = svn:mime-type=image/x-rgb | *.pix = svn:mime-type=image/x-rgb | ||
− | *.pl = svn:eol-style=native;svn:executable | + | *.pl = svn:eol-style=native;svn:executable |
− | |||
*.plist = svn:mime-type=text/plain | *.plist = svn:mime-type=text/plain | ||
*.png = svn:mime-type=image/png | *.png = svn:mime-type=image/png | ||
− | |||
*.ppt = svn:mime-type=application/vnd.ms-powerpoint | *.ppt = svn:mime-type=application/vnd.ms-powerpoint | ||
*.ps = svn:mime-type=application/postscript | *.ps = svn:mime-type=application/postscript | ||
*.psd = svn:mime-type=application/photoshop | *.psd = svn:mime-type=application/photoshop | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*.rt = svn:eol-style=native;svn:executable;svn:mime-type=text/x-sh | *.rt = svn:eol-style=native;svn:executable;svn:mime-type=text/x-sh | ||
*.rtf = svn:mime-type=text/rtf | *.rtf = svn:mime-type=text/rtf | ||
− | |||
*.sh = svn:eol-style=native;svn:executable;svn:mime-type=text/x-sh | *.sh = svn:eol-style=native;svn:executable;svn:mime-type=text/x-sh | ||
*.sln = svn:eol-style=CRLF | *.sln = svn:eol-style=CRLF | ||
*.smil = svn:mime-type=application/smil | *.smil = svn:mime-type=application/smil | ||
− | |||
− | |||
*.svg = svn:mime-type=image/svg+xml | *.svg = svn:mime-type=image/svg+xml | ||
*.svgz = svn:mime-type=image/svg+xml | *.svgz = svn:mime-type=image/svg+xml | ||
*.swf = svn:mime-type=application/x-shockwave-flash | *.swf = svn:mime-type=application/x-shockwave-flash | ||
− | *.tcl = svn:eol-style=native | + | *.tcl = svn:eol-style=native |
− | |||
− | |||
− | |||
*.tex = svn:mime-type=text/x-tex | *.tex = svn:mime-type=text/x-tex | ||
*.tgz = svn:mime-type=application/x-gtar | *.tgz = svn:mime-type=application/x-gtar | ||
*.tif = svn:mime-type=image/tiff | *.tif = svn:mime-type=image/tiff | ||
*.tiff = svn:mime-type=image/tiff | *.tiff = svn:mime-type=image/tiff | ||
− | |||
*.txt = svn:mime-type=text/plain;svn:eol-style=native | *.txt = svn:mime-type=text/plain;svn:eol-style=native | ||
− | *.vbs = svn:eol-style= | + | *.vbs = svn:eol-style=CRLF;svn:executable |
*.vcf = svn:mime-type=text/x-vcard | *.vcf = svn:mime-type=text/x-vcard | ||
− | *.vcproj = svn:eol-style=CRLF | + | *.vcproj = svn:eol-style=CRLF |
*.xbm = svn:mime-type=image/x-xbitmap | *.xbm = svn:mime-type=image/x-xbitmap | ||
*.xls = svn:mime-type=application/vnd.ms-excel | *.xls = svn:mime-type=application/vnd.ms-excel | ||
*.xml = svn:mime-type=text/xml;svn:eol-style=native | *.xml = svn:mime-type=text/xml;svn:eol-style=native | ||
− | |||
*.zip = svn:mime-type=application/zip | *.zip = svn:mime-type=application/zip | ||
− | + | AUTHORS = svn:eol-style=native;svn:mime-type=text/plain | |
− | AUTHORS | + | BUGS = svn:eol-style=native;svn:mime-type=text/plain |
− | BUGS | + | COPYING = svn:eol-style=native;svn:mime-type=text/plain |
− | COPYING | + | ChangeLog = svn:eol-style=native;svn:mime-type=text/plain |
− | ChangeLog | + | HACKING = svn:eol-style=native;svn:mime-type=text/plain |
− | HACKING | + | INSTALL = svn:eol-style=native;svn:mime-type=text/plain |
− | INSTALL | + | Makefile = svn:eol-style=native |
− | Makefile | + | NEWS = svn:eol-style=native;svn:mime-type=text/plain |
− | + | README = svn:eol-style=native;svn:mime-type=text/plain | |
− | README* = svn:eol-style=native;svn:mime-type=text/plain | + | README.* = svn:eol-style=native;svn:mime-type=text/plain |
− | TODO | + | TODO = svn:eol-style=native;svn:mime-type=text/plain |
− | ### catch-all for files starting and ending in all caps | + | ### catch-all for files starting and ending in all caps |
− | [A-Z | + | [A-Z]*[A-Z] = svn:eol-style=native;svn:mime-type=text/plain |
</pre> | </pre> | ||
− | |||
− | |||
= Results and statistics = | = Results and statistics = | ||
− | The final cvs2svn processing | + | The final cvs2svn processing resulted in a 2.8GB dumpfile and provided the following statistics: |
− | |||
− | |||
− | |||
− | |||
cvs2svn Statistics: | cvs2svn Statistics: | ||
Line 376: | Line 319: | ||
Last Revision Date: Mon Dec 31 15:25:14 2007 | Last Revision Date: Mon Dec 31 15:25:14 2007 | ||
------------------ | ------------------ | ||
− | Timings (seconds): | + | Timings (seconds) : |
------------------ | ------------------ | ||
− | + | 1731 pass1 CollectRevsPass | |
0 pass2 CollateSymbolsPass | 0 pass2 CollateSymbolsPass | ||
− | + | 567 pass3 FilterSymbolsPass | |
− | + | 2 pass4 SortRevisionSummaryPass | |
− | + | 4 pass5 SortSymbolSummaryPass | |
− | + | 702 pass6 InitializeChangesetsPass | |
− | + | 452 pass7 BreakRevisionChangesetCyclesPass | |
− | + | 785 pass8 RevisionTopologicalSortPass | |
− | + | 276 pass9 BreakSymbolChangesetCyclesPass | |
− | + | 513 pass10 BreakAllChangesetCyclesPass | |
− | + | 486 pass11 TopologicalSortPass | |
− | + | 342 pass12 CreateRevsPass | |
− | + | 9 pass13 SortSymbolsPass | |
− | + | 8 pass14 IndexSymbolsPass | |
− | + | 3696 pass15 OutputPass | |
− | + | 9573 total | |
− | |||
The result is a contiguous history of BRL-CAD development that has gone from RCS to CVS and now to SVN preserving more than 25 years of revision history. The conversion was completed on January 10th, 2008. | The result is a contiguous history of BRL-CAD development that has gone from RCS to CVS and now to SVN preserving more than 25 years of revision history. The conversion was completed on January 10th, 2008. | ||
− | |||
− |