Microsoft Office migration from Source Depot to Git

(danielsada.tech)

Comments

2d8a875f-39a2-4 12 June 2025
Always nice to read a new retelling of this old story.

TFA throws some shade at how "a single get of the office repo took some hours" then elides the fact that such an operation was practically impossible to do on git at all without creating a new file system (VFS). Perforce let users check out just the parts of a repo that they needed, so I assume most SD users did that instead of getting every app in the Office suite every time. VFS basically closes that gap on git ("VFS for Git only downloads objects as they are needed").

Perforce/SD were great for the time and for the centralised VCS use case, but the world has moved on I guess.

azhenley 12 June 2025
I spent nearly a week of my Microsoft internship in 2016 adding support for Source Depot to the automated code reviewer that I was building (https://austinhenley.com/blog/featurestheywanted.html) despite having no idea what Source Depot was!

Quite a few devs were still using it even then. I wonder if everything has been migrated to git yet.

0points 12 June 2025
Having used vss in the 90s myself, it surprised me it wasn't even mentioned.

VSS (Visual SourceSafe) being Microsoft's own source versioning protocol, unlike Source Depot which was licensed from Perforce.

RyJones 12 June 2025
I was on the team that migrated Microsoft from XNS to TCP/IP - it was way less involved, but similar lessons learned.

Migrating from MSMAIL -> Exchange, though - that was rough

t1234s 2 hours ago
With a product like this that spans many decades would the source repo contain all of these versions and the changes over time. For instance word 97 - 2000 - 2003 - 2007, etc..
carlual 12 June 2025
> Authenticity mattered more than production value.

Thanks for sharing this authentic story! As an ex-MSFT in a relatively small product line that only started switching to Git from SourceDepot in 2015, right before I left, I can truly empathize with how incredible a job you guys have done!

danielodievich 23 hours ago
I want to thank dev leads who trained this green-behind-the-ears engineer on mysteries of Source Depot. Once I understood it, it was quite illuminating. I am glad we only had a dependency on WinCE and IE, and so the clone only took 20 minutes instead of days. I don't remember your names but I remember your willingness to step up and help and onboard new person so they could start being productive. I pay this attitude forward with new hires here in my team no matter where I go.
BobbyTables2 12 June 2025
I’d like to know when Microsoft internally migrated away from Visual SourceSafe…

They should have recalled it to avoid continued public use…

ksynwa 12 June 2025
Not doubting it but I don't understand how a shallow clone of OneNote would be 200GB.
b0a04gl 22 hours ago
funny how most folks remember the git migration as a tech win but honestly the real unlock was devs finally having control over their own flow no more waiting on sync windows, no more asking leads for branch access suddenly everyone could move fast without stepping on each other that shift did more for morale than any productivity dashboard ever could git didn’t just fix tooling, it fixed trust in the dev loop
bariumbitmap 21 hours ago
> In the early 2000s, Microsoft faced a dilemma. Windows was growing enormously complex, with millions of lines of code that needed versioning. Git? Didn’t exist. SVN? Barely crawling out of CVS’s shadow.

I wonder if Microsoft ever considered using BitKeeper, a commercial product that began development in 1998 and had its public release in 2000. Maybe centralized systems like Perforce were the norm and a DVCS like BitKeeper was considered strange or unproven?

AdamN 12 June 2025
I feel like we're well into the longtail now. Are there other SCM systems or is it the end of history for source control and git is the one and done solution?
israrkhan 12 June 2025
We did migrate from Perforce to Git for a fairly large repositories, and I can relate to some of the issues. Luckily we did not had to invent VFS, although git-lfs was useful for large files.
3eb7988a1663 12 June 2025

  We communicated the same information through multiple channels: weekly emails, Teams, wiki docs, team presentations, and office hours. The rule: if something was important, people heard it at least 3 times through different mediums.
If only this were standard. Last week I received the only notification that a bunch of internal systems were being deleted in two weeks. No scream test, no archiving, just straight deletion. Sucks to be you if you missed the email for any reason.
palmotea 12 June 2025
What's the connection (if any) between "Source Depot" and TFSVC?
throwaway889900 12 June 2025
Thank goodness I don't have to use IBM's Rational Team Concert anymore. Even just thinking about it makes me shudder.
MBCook 12 June 2025
Could someone explain the ideas of forward integration and reverse integration in Source Depot?

I’d never heard of Source Depot before today.

ThinkBeat 12 June 2025
What were the biggest hurdles? Where did Git fall short? How did you structure the repo(s)? Where there many artifacts that went into integration with GitLFS?
jeffbee 19 hours ago
One thing I find annoying about these Perforce hate stories: yes it's awkward to branch in Perforce. It is also the case that there is no need to ever create a branch for feature development when you use Perforce. It's like complaining that it is hard to grate cheese with a trumpet. That just isn't applicable.
90s_dev 12 June 2025
I actually remember using Perforce back in like 2010 or something. And I can't remember why or for which client or employer. I just remember it was stupid.
hulitu 12 June 2025
> Microsoft Office migration from Source Depot to Git

Will they get an annoing window, in the midle of the migration, telling them that Office must be updated now, or the world will end ?

90s_dev 12 June 2025
In about 2010, I briefly had a contract with a security firm with one dev, and there was no source control, and everything written was in low quality PHP. I quit after a week.
smitty1e 12 June 2025
> We spent months debugging line ending handling

"Gosh, that sounds like a right mother," said Unix.

airstrike 12 June 2025
> Today, as I type these words, I work at Snowflake. Snowflake has around ~2,000 engineers. When I was in Office, Office alone was around ~4,000 engineers.

I'm sorry, what?! 4,000 engineers doing what, exactly?

Excel turns 40 this year and has changed very little in those four decades. I can't imagine you need 4,000 engineers just to keep it backwards compatible.

In the meantime we've seen entire companies built with a ragtag team of hungry devs.

carlhjerpe 12 June 2025
This article makes out thousands of engineers that are good enough to qualify at Microsoft and work on Office but haven't used git yet? That sounds a bit overplayed tbh, if you haven't used git you must live under a rock. You can't use Source Depot at home.

Overall good story though

pm90 12 June 2025
Its oddly fascinating that Microsoft has managed to survive for so long with ancient/bad tools for software engineering. Almost like “life finds a way” but for software dev. From the outside it seems like they are doing better now after embracing OSS/generic dev tools.