Brussels / 1 & 2 February 2014


Exploring OpenOffice History using GIT Grafts

Abandon hope all ye who enter here

OpenOffice has a huge and old code base. When working with it one all too often stumbles over parts where knowledge of some code's unmangled commit comments, the motivation behind a change, the caveats surrounding it, references to issue numbers, its relationship with other source files, or its relationship with other issues would be very useful. Some of this knowledge is still available but many pieces were almost lost in each major change of the repository. Using GIT grafts allows to revive that old history as well as possible in only one revison control system: Git.

OpenOffice has a code history of over 25 years. Its proprietary ancestry in the form of revision control system and issue trackers are gone for good, but the almost 14 years of progress as open source are available. Over time different revision control systems were used: CVS, Subversion, Mercurial, Subversion/GIT for AOO/LO.

Fortunately tarballs of the CVS repository were published and archived, the Subversion server supported svn syncing and much of the Mercurial history could be salvaged. For each of these sources it was possible to create GIT imports, the lingua franca of revision control systems. Using git grafts it is possible to stitch these old histories together which makes it much easier to research the code.


Herbert Duerr