RcsLite has been creating topics on Unix with damaged version histories since it was first written.
The problem arose when a revision ends in a blank line; for example, say you edit a topic and delete line 123, replacing it with
Note the blank line. Then you delete the next line (old line 124, new line 125). This was stored in the revision history by the broken RcsLite as
d 125 1
which is clearly wrong. The problem arose because there was an unwritten assumption in RcsLite
that the platform is Win32, which uses CRLF line terminations. I fixed this bug under the auspices of Item2957
, but there is probably a legacy of topics that have the problem on any sites that have used RcsLite on Unix. AFAICT there is only one user affected by this.
The problem is that there is no simple way to fix topics "on the fly". I thought at first that reading the topic and saving it again would work, but it doesn't. The best approach is to write a side script that analyses affected files and fixes them under user control.
Marking as Actioning as the analysis is clear.
Regrading as low as there is no evidence of anyone being affected by this.
The handling of topics ending in blank lines is regularly updated, status of this Item might have changed since May.
- 17 Sep 2007
Raised to Urgent, because I have a site that is crippled by this. Added repair script; tools/repair_rcs_lite.pl; see Item3212
- 16 Jun 2009