>Synopsis: rcs issue with $Log$ usage>Category: amd64 system>Environment: System : OpenBSD 6.0 Details : OpenBSD 6.0 (GENERIC.MP) #2319: Tue Jul 26 13:00:43 MDT [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP Architecture: OpenBSD.amd64 Machine : amd64>Description: When user uses $Log$ in rcs (revision control system) next actions can brake their repositories of tracked files. Espaceially 'rcs -o' which removes revisions. rcsdiff will show improper information as well.>How-To-Repeat:1. Create file i.e. hello.c as:#include <stdio.h>int main(void){}2. ci the file to the repository with some comment3. co the file and modify it as:#include <stdio.h>int main(void){int a;}4. ci the file to the repository with some comment5. do: 'rcsdiff -r1.1 -r1.2 hello.c' - it will show correct output6. co the file and modify it as:/* * $Log$ */#include <stdio.h>int main(void){int a;}7. ci the file to the repository with some comment8. co the file and modify it as:/* * $Log$ */#include <stdio.h>int main(void){int a;a = 10;}9. ci the file to the repository with some comment10. do: 'rcsdiff -r1.1 -r1.2 hello.c' - it will show incorrect outputIn case of 'rcs -o' to remove revision 1.4 the repository will be broken as a result.
