Perl moves to Git version control system

Posted by denny on Mon 22 Dec 2008 at 11:22

The Perl Foundation has migrated Perl 5 to the Git version control system, making it easier than ever for Perl's development team to continue to improve the language that powers many websites.

Moving from Perforce to git provides a number of benefits to the Perl community:

- With a public repository and Git's extensive support for distributed and offline work, working on Perl 5's source becomes easier for everyone involved.

- Because Git is open source, all developers now have equal access to the tools required to work on Perl's codebase.

- Core committers have less administrative work to do when integrating contributed changes.

- Developers outside the core team can more easily work on experimental changes to Perl before proposing them for inclusion in the next release.

- A vast array of improved repository and change analysis tools are now available to Perl's developers.

- The new Git repository includes every version of Perl 5 ever released, as well as every revision made during development.

Interested developers can get a copy of the Perl 5 Git repository at http://perl5.git.perl.org/perl.git

In true open source style, Sam Vilain converted Perl's history from Perforce to Git. He did the work both in his spare time and in time donated by his employer, Catalyst IT. He spent more than a year building custom tools to transform 21 years of Perl history into the first ever unified repository of every single change to Perl. In addition to changes from Perforce, Sam patched together a comprehensive view of Perl's history incorporating publicly available snapshot releases, changes from historical mailing list archives and patch sets recovered from the hard drives of previous Perl release engineers.

Git is an open source version control system designed to handle very large projects with speed and efficiency. Created by Linus Torvalds, the inventor of Linux to handle the vast number of contributions to the Linux Kernel, Git is highly flexible and extensible. Perl's motto, "There's More Than One Way To Do It!" perfectly matches the Git workflow.

Nicholas Clark, the manager for Perl 5.8.9 which was released this week, said "I'm looking forward to Git giving me the ability to work either online or offline. Perforce is great when I have a network connection, but until now those times when I've been trying to develop on trains or planes, at stations or airports, I'm back in the 'dark ages' before version control. Git solves this problem and more".

The hardware behind this and the systems administration time to maintain it is donated by Booking.com. Booking.com has also recently donated $50,000 to The Perl Foundation, to aid in the further development and maintenance of the Perl programming language in general, and Perl 5.10 in particular.

Perl originally used the Revision Control System (RCS) until March 1997 when it switched to the Perforce Software Configuration Management System. The Perforce repository was graciously hosted and maintained, free of charge, by ActiveState. Perforce provided the core developers with powerful tools, but these tools were not available to users outside the core team. The switch to Git removes this barrier.

This article can be found online at the Perl is Alive website at the following bookmarkable URL:

This article is copyright 2008 denny - please ask for permission to republish or translate.