Skip to content

rlog: Skip rlog entry with missing header in RlogConv.parse_rlog

CVS rlog for a given module sent by server is a concatenation of rlog entries. Each entry has a header containing the path to a RCS file plus other info.

M =============================================================================\n
M \n
M RCS file: /cvsroot/htdocs/donations/2009.xml,v\n
M head: 1.38\n
M branch:\n
M locks: strict\n
M access list:\n
M symbolic names:\n
M keyword substitution: kv\n
M total revisions: 38;\tselected revisions: 38\n
M description:\n
M ----------------------------\n
M revision 1.38\n
MT text date: \n
MT date 2018-02-13 12:11:32 +0000\n
MT text ;  author: \n
MT text christos\n
MT text ;  state: \n
MT text Exp\n
MT text ;\n
MT text   lines: +\n
MT text 3\n
MT text  -\n
MT text 3\n
MT text ;\n
MT text   commitid: \n
MT text vP6aR6nnFPCF7HqA\n
MT text ;\n
MT newline\n
M update url's for existing donations per donor's request.\n
M =============================================================================\n

It exist cases where a rlog entry header is empty which makes the rlog parsing fail.

M =============================================================================\n
M ----------------------------\n
M revision 1.38\n
MT text date: \n
MT date 2018-02-13 12:11:32 +0000\n
MT text ;  author: \n
MT text christos\n
MT text ;  state: \n
MT text Exp\n
MT text ;\n
MT text   lines: +\n
MT text 3\n
MT text  -\n
MT text 3\n
MT text ;\n
MT text   commitid: \n
MT text vP6aR6nnFPCF7HqA\n
MT text ;\n
MT newline\n
M update url's for existing donations per donor's request.\n
M =============================================================================\n

So instead of stopping rlog parsing by raising an exception, prefer to skip that entry and process the next one.

Closes #4629 (closed)


Migrated from D8684 (view on Phabricator)

Merge request reports