It’s been a long time coming but as of today, Git will be the official repository for Emacs. It’s easy to miss what a monumental achievement this is.
It would be easy to shrug off the news with a so what. Move the files over to Git and be done with it. It turns out to be way, way harder than that. Eric Raymond (esr) has spent most of the last year making the transition. That’s more amazing when you realize that esr is probably the world’s leading expert on moving repositories to Git.
Emacs is about 30 years old and has been hosted on several VCS systems. Here’s a post by esr that describes some of the problems he had to deal with. Elsewhere he remarks
You might think “Huh? Emacs already has a git mirror. What else needs to be done?” Quite a lot, actually, starting with lifting Bazaar commit references into a form that will still make sense in a git log listing. Read the recent emacs-devel list archives if you’re really curious.
Along the way, he’s also transferred other large repositories, including Groff, and has looked at doing the same for the NetBSD codebase. He’s also developed several tools, such as reposurgeon and cvs-fast-export. Search his blog for either of those two terms to get an idea of the huge amount of effort he’s expended just in engineering the tools.
We all owe esr a debt of gratitude for the yeoman service he’s put in on this project and on migrating other code bases to Git. Well done, sir.
UPDATE: esr is reporting that the new repository is on-line and available for cloning at git://git.sv.gnu.org/emacs.git
.