Another possibility is that the RCS file was copied between the repositories at a later time.
Note though that it is possible to get this effect if a file was patched in the multiple branches, and then commited in all the branches simultaneously.
Are the original committers still around? Can they still remember what they did?
The committers are usually still around, but I doubt they remember the specific commits (I know that I don't).
In any case, it's not critical, of course, so if we presume that the original committers just were very fast and committed the same patch on different branches within one second, then by all means, simplify the graph and linearise it.
The typical case is probably that someone (like me) has all branches of Pike checked out at the same time:
Pike/0.5 Pike/0.6 Pike/7.0 ... Pike/7.8
Fixes the bug in Pike 7.8, and then backpatches it to the branches where relevant.
And then with cwd == Pike issues a command like:
cvs ci -m 'Fixed something or other.' */path/to/patched/file
If the patched file hasn't diverged earlier odds are that the new file will still be identical accross the branches and have identical history.
BTW: A third (more complicated) alternative would be to introduce merge commits for each of the main branches:
Branch: A A and B B Commit
| | | o C10 o | C9 | | o | C8 | | | o C7 | | *_________ ___________* M6 | \o/ | C6 | | o C5 o | | C4 | | | _________ | ___________* M3 \o/ | C3 | o C2 | __________/ |/ Split: o C1 | o | o | o