https://github.com/mirrors/gcc/blame/7057506456ba18f080679b2...
https://github.com/mirrors/gcc/blame/7057506456ba18f080679b2...
The copyright notice goes back to '87. I wonder if '92 is just where the source control kicks in.
DannyBee claims that reload was started in the late 80s.
There are commits going back to 1988, but it looks like a lot of the early commits are out of order; the repository was (at least) converted from RCS to CVS to SVN to Git.
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.
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...]
And yes, I used RCS when working on the gcc source.
We used 860 (not sure) and 960 (definitely) too for other products.
EDIT: Apparently all previous history was lost when they implemented CVS, circa 1997. We could always ask someone in the oldest maintainers file available (https://gcc.gnu.org/viewcvs/gcc/trunk/MAINTAINERS?revision=1...) and have the real answer.
Great. Now I feel a million years old...
Now I feel old.