On Tuesday 26 January 2010, Aaron Crane wrote: > Hallvard B Furuseth <h.b.furuseth@xxxxxxxxxxx> wrote: > > When moving from CVS to Git, what's a good way to help Git users > > find an old commit given the original CVS revision number? Are > > there tools available to help? > > > > One could commit a table with a (file,revision)->commit mapping, > > I suppose something can generate it when importing from cvs? > > That's what we decided to do on a recent CVS-to-Git conversion, though > like you, we also considered munging the log messages instead. Our > jury's still out on whether it was the right decision; we haven't had > much cause to use the result yet. > > One thing to be aware of (beyond the need to run grep to convert old > CVS revision numbers to Git commit IDs) is that there's a good chance > the mapping file will pollute the results of `git grep` for some > tasks. (We've put the mapping file into our repo, where it's easy to > find.) I'm considering gzipping the mapping file as a workaround; > that would mean our users will need to use zgrep (or equivalent) to > look up CVS revision numbers, which may or may not be a problem in > your situation. > > I have an initial patch to git-cvsimport that adds a switch to > generate the mapping as it goes. I'm currently trying to find time to > clean it up and submit it. You could consider adding the CVS revision numbers as notes (see "git help notes" in >= v1.6.6) to the corresponding commits. Then they don't pollute the commit messages, but instead live in a separate, but parallel hierarchy that can be easily pulled in when you need to reference them (e.g. GIT_NOTES_REF="refs/" git log). The notes feature is still very new, and there are still outstanding patches to be merged, but the basics are there in v1.6.6. FWIW, I was also working on a CVS-to-Git importer (based on what has later become the transport-helper infrastructure), that used notes to store exactly the metadata you mention above. However, I haven't worked on it for a while, and I probably won't have time to pick it up in the immediate future. ...Johan -- Johan Herland, <johan@xxxxxxxxxxx> www.herland.net -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html