Git Migration for PureCM
PureCM can be migrated to Git/GitHub/BitBucket using 'git fast-import'.
Usage: purecm-fast-export [--sqlserver] [--sqlinstance ] [--sqlschema ] [--sqldatabase ] [--sqluser ] [--sqlpassword ] [--forced-mainlines ] [--ignored-streams ] [--flatten] [--preview] Server Database Path Repository Database Path Stream to use as the trunk for export --sqlserver= Specify the hostname of the SQL Server to use --sqlinstance= Specify the instance of the SQL Server to use --sqlschema= Specify the schema of the SQL Server to use --sqldatabase= Specify the database of the SQL Server to use --sqluser= Specify the username of the SQL Server to use --sqlpassword= Specify the password of the SQL Server to use --forced-mainlines= Specify a semicolon delimitted list of streams that are forced onto the mainline --ignored-streams= Specify a semicolon delimitted list of streams that are ignored --flatten Flatten the streams into just a master stream --preview Preview changes only, don't process file data
Migrate a project from a PureCM Server using a SQL Server database
purecm-fast-export.exe "server" myrepos "MyApp/v0.1/v0.1" --sqlserver=localhost --sqldatabase=purecm --sqlschema=dbo --flatten | git fast-import
Migrate a project from a PureCM Server using SQLite databases
purecm-fast-export.exe c:\purecm\data\ myrepos "MyApp/v0.1/v0.1" --flatten | git fast-import
If you specify '--flatten' the migration tries to follow the 'waterfall' (v0.1 -> v0.2 -> v0.3 etc.) but keep the code in 'master' (Git mainline). The streams become git 'tags' instead.
If you opt to not use '--flatten' you will end up with branches for 'v0.1', 'v0.2' etc. with the final stream (e.g. 'v1.0') becoming 'master'
The tool can be downloaded from the Downloads section.