← Back to context

Comment by OkGoDoIt

8 years ago

Yes, I used that internal Source Depot (based on Perforce I think, or at least something old and convoluted) when I worked on Windows Phone 7 back in 2010, it was not fun. There were a few teams within Microsoft at the time using the visual studio team system source control but I don’t believe it was common, as a lot of the error reporting (watson) had plug-ins for the proprietary Source Depot.

Why was it not fun? I had no trouble with sourcedepot when I was there.

I think git and decentralized source control are great, but I get a little suspicious of people saying tooling is "not fun" simply because it isn't their favorite or most familiar.

  • That’s fair, I’m probably being too harsh on it. It was my first job out of college so my first time interacting with professional-scale source control. I don’t remember specifically what I didn’t like about it, I think mostly that it was slow and a bit unintuitive, but I can’t say with any conviction that it was actually a bad system. I do remember there being a general sense on my team that people wanted to move off of it and onto something more modern, so perhaps I just internalized that.

Ugh, Perforce. That was painful. Perhaps it’s time to see what’s next in source control systems, ie bzr.

  • Hah, our team is a bit of split - half of us know perforce well, the other half git, then almost all other developers are perforce driven (game company with several studios).

    I like it, and really love that they added web interface (review, overall view of changes, etc.).

    P4 is very easy to get started, all you need is to learn several things, and tools underneath can easily be changed, learned to do this for you. Then it's easy to comprehend changes, since all CL's are monotonically increasing, so once gets perception when a CL is announced whether it affects him, or her, etc.

    And the elephant in the room is the really, really huge files: psd, tiff, max, maya (ma/mb) models, fbx, zip, iso, exe installs, etc.

    There are some peculiarities, like text files handling and conversion (e.g. \r\n <-> \n).

    Then some useful (but controversial) features: locking (per extension), or manually per file.

    Having all your projects from different teams in one place, but each team/project can customize a view to its own work (a bit opposite of what google is doing with their mono-repo, but unlike g4 there ain't option to sync only what you want, and have the rest off the network).