On Wed, Jul 20, 2011 at 9:53 AM, Thomas Watson <tjwatson@xxxxxxxxxx>
I noticed some of these fake commits in the rt.equinox.framework and rt.equinox.bundles repositories. Now that we have been using these repositories for over a week is it too late to fix them also?
It depends on 1) what kind of commit it is and 2) where it is.
The most common kind of cvs2git generated commit in eclipse.platform.ui.gitÂ was "Delete commits", usually generated to create tags for the 2-5 bundles tagged per I build.Â I used a script to get rid of them as they usually have no children and are parented off of the correct node.Â You can fix these now, they're no big deal.
The next set of generated commits for us were "Delete commits" that were the base commit of our of our maintenance branches.Â That's caused by tagging our projects for R3_6, for example, but only branch 5 of them.Â To fix this I pre-conditioned the CVS repo, branching all of the projects on the branches I cared about (R3_7_maintenance, R3_6_maintenance, R3_5_maintenance, R3_4_maintenance.Â I did more but that covers of most codeÂ we would change these days).Â This has to be done before the conversion.
That still left me with some delete commits at the base of my R4 branches ... I had to fix these by rebasing the branch onto the branch point commit.ÂÂ In the general case the best practice is "you don't rebase commits you've made public" ... but if you did need to fix this (and you would haveÂ to fix all the tags after a rebase as well), now's the time to do it where you can say "yeah, you'll have to delete your repo and start again".
I also ended up with a small number of generated commits where they "Cherrypicked" source from another commit.Â As long as they weren't at the base of the maintenance branches I cared about and they weren't in master, I ignored these.ÂÂ You would have to have a developer examine each one, possibly rebase or amend a set of commits, and then fix up any tags, branches, randomness, etc that it caused :-)