Live data from Hacker News

Microsoft Office migration from Source Depot to Git

danielsada.tech

161–170 of 290 posts

Re: Microsoft Office migration from Source Depot to Git

#161
post #159
post #151

Earlier quoted context omitted.

I cannot believe that new hires would be upset by the choice of version control software. They joined a new company after so many hoops and it's on them for having an open mind towards processes and tools in the new company.

I worked with someone who was surprised the company didn’t use Bitbucket and Discord. They were unhappy about both.

Discord I get, at least from a community or network effect, but Bitbucket? I can’t figure out why anyone but a CTO looking to save a buck would prefer Bitbucket.

Re: Microsoft Office migration from Source Depot to Git

#162
post #125
post #121

Earlier quoted context omitted.

Which is exactly how CVS (and its predecessors RCS and SCCS) worked. They were file based revision control, not repository based. SVN added folders like trunk/branches/tags that overlaid the file based versioning by basically creating copies of the files under each folder. Which is why branch creation/merging was such a complicated process, because if any of the files didn't merge, you had a half merged branch source…

CVS was called the “concurrent version system” because it did not lock files on checkout. Nor did svn. Perforce does.

True dat, my mistake. That was its major feature, from memory though it still used the same reversed diff file format?

Re: Microsoft Office migration from Source Depot to Git

#163
post #102

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?

git by itself is often unsuitable for XL codebases. Facebook, Google, and many other companies / projects had to augment git to make it suitable or go with a custom solution.

AOSP with 50M LoC uses a manifest-based, depth=1 tool called repo to glue together a repository of repositories. If you’re thinking “why not just use git submodules?”, it’s because git submodules has a rough UX and would require so much wrangling that a custom tool is more favorable.

Meta uses a custom VCS. They recently released sapling: https://sapling-scm.com/docs/introduction/

In general, the philosophy of distributed VCS being better than centralized is actually quite questionable. I want to know what my coworkers are up to and what they’re working on to avoid merge conflicts. DVCS without constant out-of-VCS synchronization causes more merge hell. Git’s default packfile settings are nightmarish — most checkouts should be depth==1, and they should be dynamic only when that file is accessed locally. Deeper integrations of VCS with build systems and file systems can make things even better. I think there’s still tons of room for innovation in the VCS space. The domain naturally opposes change because people don’t want to break their core workflows.

Re: Microsoft Office migration from Source Depot to Git

#164

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

It only takes a week to learn enough git to get by, and only a month or two to become every-day use proficient. Especially if one is already familiar with perforce, or svn, or other VCS.

Yes, there is a transition, no it isn't really that hard.

Anyone who views lack of git experience as a gap in a CV is selecting for the wrong thing.

Re: Microsoft Office migration from Source Depot to Git

#165
post #152
post #151

Earlier quoted context omitted.

I cannot believe that new hires would be upset by the choice of version control software. They joined a new company after so many hoops and it's on them for having an open mind towards processes and tools in the new company.

If companies don't cater to the whims of the youth, they'd have to hire... old people

But those cost so much more!

Re: Microsoft Office migration from Source Depot to Git

#166
post #131

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 sui…

Some companies have developed their own technology like VFS for use with Perforce, so you can check out the entire suite of applications but only pull the files when you try to access them in a specific way. This is a lot more important in game development where massive source binary assets are stored along side text files. It uses the same technology that's built into Windows that the remote drive programs (probably…

Doesn’t SVN let you check out and commit any folder or file at any depth of a project you choose? Maybe not the checkouts and commit, but that log history for a single subtree is something I miss from the SVN tooling.

Re: Microsoft Office migration from Source Depot to Git

#167

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 sui…

My firm still uses perforce and I can't say anyone likes it at this point. You can almost see the light leaves the eyes of new hires when you tell them we don't use git like the rest of the world.

Yeah it's an issue for new devs for sure. TFA even makes the point, "A lot of people felt refreshed by having better transferable skills to the industry. Our onboarding times were slashed by half".

Re: Microsoft Office migration from Source Depot to Git

#168
post #102

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?

git by itself is often unsuitable for XL codebases. Facebook, Google, and many other companies / projects had to augment git to make it suitable or go with a custom solution. AOSP with 50M LoC uses a manifest-based, depth=1 tool called repo to glue together a repository of repositories. If you’re thinking “why not just use git submodules?”, it’s because git submodules has a rough UX and would require so much wranglin…

git submodules have a bad ux but it's certainly not worse than Android's custom tooling. I understand why they did it but in retrospect that seems like an obvious mistake to me.

Re: Microsoft Office migration from Source Depot to Git

#169
post #121

Earlier quoted context omitted.

Which is exactly how CVS (and its predecessors RCS and SCCS) worked. They were file based revision control, not repository based. SVN added folders like trunk/branches/tags that overlaid the file based versioning by basically creating copies of the files under each folder. Which is why branch creation/merging was such a complicated process, because if any of the files didn't merge, you had a half merged branch source…

I am quite sure that you can edit files in an svn repo to your heart’s content regardless of whether anyone else is editing them on their machine at the same time.

Yep, svn has a lock feature but it is opt-in per file (possibly filetype?)

A pretty good tradeoff, because you can set it on complex structured files (e.g. PSDs and the like) to avoid the ballache of getting a conflict in an unmergeable file but it does not block code edition.

And importantly anyone can steal locks by default. So a colleague forgetting to unlock and going on holidays does not require finding a repo admin.

Re: Microsoft Office migration from Source Depot to Git

#170
post #131

Earlier quoted context omitted.

Some companies have developed their own technology like VFS for use with Perforce, so you can check out the entire suite of applications but only pull the files when you try to access them in a specific way. This is a lot more important in game development where massive source binary assets are stored along side text files. It uses the same technology that's built into Windows that the remote drive programs (probably…

Doesn’t SVN let you check out and commit any folder or file at any depth of a project you choose? Maybe not the checkouts and commit, but that log history for a single subtree is something I miss from the SVN tooling.

Can you not achieve the log history on a subtree with `git log my/subfolder/`? Tools like TortoiseGit let you right click on a folder and view the log of changes to it.
Post reply on HN