HomeSoftware Heritage

rlog: fix loading of CVS commits which have a commit ID

Description

rlog: fix loading of CVS commits which have a commit ID

The CVS commit ID is an optional attribute which is only generated
by relatively recent releases of CVS clients. Our rlog parser was
skipping such commits because it failed to match on them due to an
error in a regular expression.
This resulted in an incomplete import of CVS revision history.

Here is a sample line from cvs rlog output which carries a
commit ID and was not matched because the regex lacked the
trailing semicolon:
date: 2007-07-17 15:02:50 +0200; author: larsl; state: Exp; lines: +619 -285; commitid: oju0x8tTc9aUB7qs;

Found while testing ingestion of the GNU dino repository from
cvs.sannah.gnu.org/sources/dino

Details

Provenance
stspAuthored on Oct 27 2021, 12:20 PM
stspPushed on Oct 27 2021, 4:01 PM
Differential Revision
D6561: rlog: fix loading of CVS commits which have a commit ID
Parents
rDLDCVS0829dc3309d7: rlog: fix parsing of multiple file revisions
Branches
Unknown
Tags
Unknown
Tasks
T3691: Implement CVS loader
Build Status
Buildable 24738
Build 38614: test-and-buildJenkins console · Jenkins