Session
|
BOS42-400: Rebuilding Subversion's Working Copy Library The Subversion version control system was started nearly 10 years ago. One of its core libraries, the "working copy library", handles the management of the files on the client, retaining metadata and pristine copies of the files in the ".svn" subdirectory. This library is the oldest library within Subversion, and has seen tremendous change over the years to incorporate new features and enhancements. However, in 2008, Greg began an effort to rebuild this library. It had grown too brittle and cumbersome for future development needs. Its performance was a significant problem, especially when compared against other tools such as Git and Mercurial. An architectural overhaul was required, yet the classic APIs could not be changed. This talk will describe the history of the working copy library, how it got to its pre-rewrite state, the architectural and design choices for the new library, and the problems and solutions for bridging between the old and new models. Subversion is developed using the C programming language, so some familiarity will be required to understand some of the examples and discussion. |
Greg Stein
Email:
gstein@gmail.com |
