History of CVS Migration

This is the notes about the bitweaver.org projects migration from CVS which makes extensive use of virtual modules (aka aliases ) in CVS to a distributed version control system (VCS) such as Mercurial or Git.


{| border=3
|+A Simple Table
|-
! Feature !! Git !! Mercurial
|-
! Ad-hoc Builds
| As of git 1.5.3, there is a concept known as [http://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects|super modules]
|
|-
! Keywords
| "[http://www.gelato.unsw.edu.au/archives/git/0610/28891.html| keyword substitution is just stupid]" - Linus in his trademark @$$hole attitude. Do some scripty stuff is his answer. No SCM support during build/export for tagging files with a release marker. [/nickpalmer] will develop a release script that handles this for us.
| [http://mercurial.selenic.com/wiki/KeywordExtension|Keyword Extension] works like a charm. Supports all existing CVS keywords out of the box.
|-
! Cross Platform Support
| Windows support is reported to be weak, but reports were two years ago and much progress has been made. It is "good enough" with msysgit to get the job done.
| Rockin' on all platforms - linux, windows, OSX
|-
! Build
| On CentOS, git needed to be upgraded to get super modules. The FC13 git-1.7 rpm worked (rpm -ivh --nomd5). One small git.spec tweak was removing the conditional "--vendor" around desktop-file-install, so the line looked just like: "desktop-file-install --vendor fedora --dir=%{buildroot}%{_datadir}/applications %{SOURCE4}" CentOS 5.4+ broke things so the rpm would not build - had to [http://tonkersten.com/archives/2009/11/20/its_broken_again/index.html|edit docbook dtd definition] to get a Fedora rpm to build properly. Replace "4.5" with "4.2" in /etc/asciidoc/docbook.conf
|
|-
! Migration
| Migration with cvs2git is a snap with the attached "convert" script: {attachment id=1056}. Note that the script expects the repository to be stored in /cvsroot/bitweaver -Waterdragon

| #Migrate each module separately, and then combine [http://stackoverflow.com/questions/12843/how-to-combine-two-projects-in-mercurial]
|-
|}


Page History
Date/CommentUserIPVersion
17 Jun 2010 (22:37 UTC)
spiderr71.70.210.9126
Current • Source
spiderr71.70.210.9125
View • Compare • Difference • Source
spiderr71.70.210.9124
View • Compare • Difference • Source
spiderr71.70.210.9123
View • Compare • Difference • Source
Will69.203.72.16122
View • Compare • Difference • Source
Will69.203.72.16121
View • Compare • Difference • Source
spiderr24.171.168.22319
View • Compare • Difference • Source
Lester Caine81.138.11.13618
View • Compare • Difference • Source
spiderr71.70.210.9117
View • Compare • Difference • Source
spiderr71.70.210.9116
View • Compare • Difference • Source
WaterDragon130.37.29.8015
View • Compare • Difference • Source
WaterDragon130.37.29.8014
View • Compare • Difference • Source
spiderr70.154.110.15712
View • Compare • Difference • Source
spiderr70.154.110.15711
View • Compare • Difference • Source
WaterDragon82.171.181.20810
View • Compare • Difference • Source
WaterDragon82.171.181.2089
View • Compare • Difference • Source
spiderr71.70.210.918
View • Compare • Difference • Source
spiderr71.70.210.917
View • Compare • Difference • Source
spiderr71.70.210.915
View • Compare • Difference • Source
spiderr71.70.210.914
View • Compare • Difference • Source
spiderr71.70.210.913
View • Compare • Difference • Source
spiderr71.70.210.912
View • Compare • Difference • Source
spiderr71.70.210.911
View • Compare • Difference • Source