Twenty years of history and counting

by Manu (modified: 2013 Mar 08)

On Tuesday, March 12th, we will be celebrating the 20th anniversary of the first commit on EiffelStudio (formerly known as EiffelBench). The first commit entry reads:

Author: grator Date: Fri Mar 12 13:00:58 1993 UTC Message: Initial revision

At the time, the source control management system used at Eiffel Software was RCS. We had one user grator who was in charge of committing any changes. The name grator is an abbreviation of integrator as it was too long for a username at the time (9 characters when 8 was the limit.) If your code was not satisfactory for grator you would have to go back and improve your work.

Starting in July 1995, the policy was relaxed and users were allowed to commit their modification themselves.

In 1997/98, we upgraded our source control management system to CVS. It made a huge improvements for our development work on Windows where we could now commit directly from Windows rather than having to create a tarball and move it to UNIX where the commit would be done.

At the end of 2005, we migrated to subversion a few month before open sourcing the code of EiffelStudio in April 2006.

Having 20 years worth of history is invaluable. Often we go back to find out why certain changes were made. We are lucky to have that much historical information. In addition, it is good way to track how things are done and how they evolve over the years.

What would be the next source control management system we will be using? Who knows? But one thing is sure, it has to preserve the whole history. No way we can remove this jewel of information.

Happy committing and Eiffeling!

Manu

Comments
  • Eric Bezault (11 years ago 9/3/2013)

    Gobo is using Git

    On May 21rst, the Gobo repository will contain 16 years worth of history. The project started with CVS, and then Subversion. It currently uses Git.

    • Manu (11 years ago 9/3/2013)

      At the moment, Git is not usable for EiffelStudio because of the large history (it would imply downloading a few gigabytes) and we would have to host it as no public/private Git provides accept large repositories.

      For example, the Linux kernel is about 600+MB of download and does not include the complete history. Indeed, they decided to drop old data and the current repository only goes back to version 2.6.12-rc2. You have to go on a different repository to get the old data. This is not practical. I tested it and it took about 15 minutes to get the whole thing checked out (downloading at 2MiB/s and it is using 1.3GB of disk space at the end). I cannot imagine what it would be for EiffelStudio.

      We might offer a Git front end without history for people who prefer to work this way while maintaining subversion as the main repository.

      • Manu (11 years ago 13/3/2013)

        Git access

        I just added a mirror of EiffelStudio on github for those who are interested:

        https://github.com/EiffelSoftware/EiffelStudio

        We will update that copy on a regular basis.

  • Bernd Schoeller (11 years ago 9/3/2013)

    Congratulations

    Best wishes to the whole team! I am really looking forward to the next 20 years. It is a little frustrating that people still use C++, Python and Java, but sometimes good ideas just need time to mature. The fact that a 20 year old source tree is still maintainable shows the real power of the Eiffel language.

  • Jussi Saentti (11 years ago 9/3/2013)

    Most recent changes

    Until about a year ago it was possible to browse source code by age, but not anymore. What changed?

    Best regards Jussi Santti

    • Manu (11 years ago 9/3/2013)

      I'm not sure what you are referring to. You can use the following URLs:

      • https://svn.eiffel.com/eiffelstudio
      • https://svn.eiffel.com/websvn/listing.php?repname=eiffelstudio

      Make sure to accept the certificate though.

      • Jussi Saentti (11 years ago 12/3/2013)

        Thank you !

        The latter url is what I was missing. Must again increase reading of this literature. When I think of eiffelstudio as literature, name prefixing causes it not being much better reading experience than other codebases. It looks insider stuff, makes be feel an outsider (what I am). On the other side one cannot fight everything as you are already fighting {} and ==.

  • Jussi Saentti (11 years ago 9/3/2013)

    Thank you

    The last link is what I was after. Link at eiffelroom home was then changed to skeletal information like your first link. Before "Browse source" used to link hierarcy levels as tables with time etc information. Thanks!

  • Larry Rix (11 years ago 11/3/2013)

    What an excellent milestone to reach!

    Congratulations to the entire Eiffel Software Eiffel Studio team. You folks completely rock!