So, i converted the repository to SVN (which is what this is based on).
Originally?
None.
Then RCS
Then it forked into EGCS and GCC, and EGCS used CVS
On remerge, we used CVS.
Then we converted to SVN.
I basically rewrote large parts of cvs2svn to make this happen (before that it took weeks to convert and ran out of memory anyway :P)
During cvs2svn conversion, the old GCC RCS versions we had data for were inserted as branches and older revisions, as appropriate
Since the original per-file version numbers were not kept, this was done by inserting it and then incrementing existing version numbers on the RCS files that made up the CVS repository, and hacking up the cvs2svn parser slightly to allow for some idiosyncracies (because now you have a billion years worth of RCS bugs to parse)
So basically, history goes back as far as there were version control systems that were being used, which is roughly 1987
Before someone asks why it got moved to SVN, at the point at which we converted to SVN,
1. git was not popular yet (or all that usable yet for that matter)
2. GCC's biggest VC problem was needing single repository version numbers for tags, and atomic commits, which SVN solved.
Although note that a lot of earlyish GNU codebases kept tons of older versions of source files around in the form of Emacs versioned backup files, and there were RCS-conversion scripts that would commit all of those as RCS versions...
[There would be no log messages for those older versions, of course, but the writers and creation dates of the older files were potentially available... I don't really remember whether those conversion scripts actually used that info or not, although I think they did...]
Originally? None.
Then RCS
Then it forked into EGCS and GCC, and EGCS used CVS
On remerge, we used CVS.
Then we converted to SVN.
I basically rewrote large parts of cvs2svn to make this happen (before that it took weeks to convert and ran out of memory anyway :P)
During cvs2svn conversion, the old GCC RCS versions we had data for were inserted as branches and older revisions, as appropriate
Since the original per-file version numbers were not kept, this was done by inserting it and then incrementing existing version numbers on the RCS files that made up the CVS repository, and hacking up the cvs2svn parser slightly to allow for some idiosyncracies (because now you have a billion years worth of RCS bugs to parse)
So basically, history goes back as far as there were version control systems that were being used, which is roughly 1987
Before someone asks why it got moved to SVN, at the point at which we converted to SVN,
1. git was not popular yet (or all that usable yet for that matter)
2. GCC's biggest VC problem was needing single repository version numbers for tags, and atomic commits, which SVN solved.
SVN was a huge step forward compared to CVS.