[Cs-dev] CVS to Git
Date | 2012-08-10 09:29 |
From | Anthony Kozar |
Subject | [Cs-dev] CVS to Git |
Hello all! I hope everyone is doing very well here -- it seems like the Csound community is as active as ever! The Bol Processor dev team (also hosted on SF) is currently looking at switching from CVS to Git and since the Csound project has already done so, I thought I'd ask for some advice. How did you go about it? Do you have to manually "git cvsimport" from the CVS repository and then push to a new, empty Git repo? Or does SF have a migration tool? (I haven't find one yet) Or can you have SF support do it? Do you have any tips on how to avoid problems during the switch? Thanks very much!! Anthony -- Anthony Kozar mailing-lists-1001 AT anthonykozar DOT net http://anthonykozar.net/ ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2012-08-10 15:23 |
From | Felipe Sateler |
Subject | Re: [Cs-dev] CVS to Git |
Attachments | None None |
Hi Anthony, AFAIK, SF doesn't have a migration tool. In csound we did it manually, but it's not much work anyways. Tips from when we did this: 1. Make a local copy of the cvs repository (sf provides an rsync service for cvs repos if I recall correctly). Since the migration needs to go over all of the commits, and it is possible you will have to do it more than once due to errors, it is very advisable to have a local copy.
2. Compile a map of sf logins -> name <email> for all contributors. Cvs log and the local copy are your friends here. 3. Use cvsimport. 4. Since in git every checkout is a full repository, accidentally commiting files is much more harmful than in cvs. Binary files can be very annoying and cause the repository to bloat. At [1] is a script that finds large files that no longer are in the HEAD. Then you can use git-filter-branch to remove them from the history, thus making the repository smaller.
5. Push master (and any other interesting branches) to the empty repository sf creates. It is of course advisable to reserve a day for doing the migration where no dev actually commits to cvs, to avoid losing commits.
[1]
http://stackoverflow.com/questions/298314/find-files-in-git-repo-over-x-megabytes-that-dont-exist-in-head
On Fri, Aug 10, 2012 at 4:29 AM, Anthony Kozar <mailing-lists-1001@anthonykozar.net> wrote: Hello all! Saludos, Felipe Sateler |
Date | 2012-08-11 02:25 |
From | Anthony Kozar |
Subject | Re: [Cs-dev] CVS to Git |
Thank you very much, Felipe, for the detailed response!! I will pass this information on to our team and hope that we will have a smooth migration thanks to your advice and help ^_^ Many thanks, Anthony Felipe Sateler wrote on 8/10/12 10:23 AM: > Hi Anthony, > > AFAIK, SF doesn't have a migration tool. In csound we did it manually, but > it's not much work anyways. Tips from when we did this: > > 1. Make a local copy of the cvs repository (sf provides an rsync service > for cvs repos if I recall correctly). Since the migration needs to go over > all of the commits, and it is possible you will have to do it more than > once due to errors, it is very advisable to have a local copy. > > 2. Compile a map of sf logins -> name |