Home / Companies / GitHub / Blog / Post Details
Content Deep Dive

Revamping GitHub's Subversion Bridge

Blog post from GitHub

Post Details
Company
Date Published
Author
GitHub Engineering
Word Count
1,835
Company Posts That Month
22
Language
English
Hacker News Points
-
Post removed?
No
Summary

GitHub's Subversion bridge allows users to access Git repositories using Subversion clients, and recently underwent a significant re-architecture to adapt to infrastructure changes. The primary challenge was mapping Git commits to Subversion revision numbers, initially stored as serialized Ruby data structures, which became impractical due to infrastructure evolution. In 2015, the mapping was moved to the Git repository's object database, streamlining data handling and eliminating special cases. To ensure a smooth transition without impacting users, GitHub used the Scientist library to run both old and new implementations in parallel, allowing for real-world testing and comparison. The process involved creating new classes, such as MsgpackMapping and GitMapping, and conducting experiments to refine the new implementation incrementally. This method leveraged detailed logging, monitoring, and scripting to track performance and resolve mismatches, ultimately allowing GitHub to replace the old mapping system with a more efficient Git-backed solution for thousands of customers.

Trends Found in this Post

No tracked trend matches for this post yet.

Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.