After having cleaned up an imported CVS repo, deleting branches that
have been merged back (and one or two that had been created by mistake),
I tried running cvsimport again. I was a bit surprised to see it
recreate all the branches I had deleted (though I can understand why it
would do so).
The real issue, though, is that cvsimport re-creates these old branches
over the *current* state of the parent branch. (Moving tags in the
process, which is the one area in git where fixing mistakes is a PITA.)
Seems to me that cvsimport should check the timestamps and/or patchset
numbers, and either refuse to create an older commit from a newer one,
or perform a checkout to the appropriate branch point beforehand.