>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 2016
[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 comment
3. co the file and modify it as:
#include <stdio.h>
int main(void)
{
int a;
}
4. ci the file to the repository with some comment
5. do: 'rcsdiff -r1.1 -r1.2 hello.c' - it will show correct
output
6. 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 comment
8. 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 comment
10. do: 'rcsdiff -r1.1 -r1.2 hello.c' - it will show incorrect
output
In case of 'rcs -o' to remove revision 1.4 the repository will be
broken as a result.