HomeSoftware Heritage

cvsclient: handle files which lack a trailing newline

This commit no longer exists in the repository. It may have been part of a branch which was deleted.

Description

cvsclient: handle files which lack a trailing newline

CVS uses \n as a protocol message separator, which forces us
to read protocol message line-by-line. File content sent by
the server has a length known and is transmitted in bytes.
The server appends a final "ok\n" message (or perhaps an error
message) when it is done sending file contents.

Properly handle the case where this final message gets buffered
along with file contents and is not delimited from file contents
by \n because the file lacks a trailing newline. Previously, the
final protocol message ended up being written out to file contents
in this case.

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

Details

Provenance
stspAuthored on Oct 27 2021, 11:55 AM
stspPushed on Oct 27 2021, 3:45 PM
Differential Revision
D6558: cvsclient: handle files which lack a trailing newline
Tasks
T3691: Implement CVS loader
Build Status
Buildable 24730
Build 38602: test-and-buildJenkins console · Jenkins

Commit No Longer Exists

This commit no longer exists in the repository.