I wrote:
> I'm a bit disappointed by the fact that we get either of these. I had
> gathered from Max's comments that the dead-revision-at-the-base-of-the-
> branch trick is considered standard in newer CVS versions, and so I'd
> hoped that cvs2git would understand the construct and not generate
> either of these commits. Possibly the hacked-up revisions I inserted
> are enough different from the regular kind to confuse it.
Hah: a bit of digging in the cvs2svn sources found this:
def _is_unneeded_initial_branch_delete(self, lod_items, metadata_db): """Return True iff the initial revision in
LOD_ITEMScan be deleted."""
if not lod_items.cvs_revisions: return False
cvs_revision = lod_items.cvs_revisions[0]
if cvs_revision.ntdbr: return False
if not isinstance(cvs_revision, CVSRevisionAbsent): return False
if cvs_revision.branch_ids: return False
log_msg = metadata_db[cvs_revision.metadata_id].log_msg return bool(re.match( r'file .* was added on branch
.*on ' r'\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}( [\+\-]\d{4})?' '\n$', log_msg, ))
So it looks like I have to make the dead revisions' log messages match
that regexp. Off to make another try.
regards, tom lane