5 ms·
How has nobody heard of Perforce. It was the SCM of choice for a lot of companies until git came along. Doesn't Google still use it? BTW, Perforce's diffing/me
by secondcoming 5y ago
How has nobody heard of Perforce. It was the SCM of choice for a lot of companies until git came along. Doesn't Google still use it?
BTW, Perforce's diffing/merging tools [0] are fantastic.
[0] https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge https://www.perforce.com/products/helix-core-apps/merge-diff...
- locusofself 5y agoi thought google used mercurial (hg) ?
- MauranKilom 5y agoThey were on Perforce for a long time. See e.g. https://info.perforce.com/rs/perforce/images/GoogleWhitePaper-StillAllonOneServer-PerforceatScale.pdf https://info.perforce.com/rs/perforce/images/GoogleWhitePape... and https://news.ycombinator.com/item?id=15889958 https://news.ycombinator.com/item?id=15889958.
- sulam 5y agoFacebook uses Mercurial for its big monorepo. Google’s big monorepo was once P4 but isn’t anymore.
- lamontcg 5y agoAmazon was P4 when I was there (a long, long time ago). I heard that more recently they were still trying to get off of it.
- KerrAvon 5y agoLast time I used Perforce, more than a decade ago, the visual diff app was fantastic and all other aspects were total shit. Would rather use Subversion if someone insisted on not using git.
- MauranKilom 5y agoInstead of ranting about how much I am annoyed by this problem, let me just ask: Are there any good diff tools/algorithms that don't consistently freak out when you change the indentation of a block of code? Yes, diff tools like to go by unique/common lines, and yes, those two } are technically the only common line in this chunk, but that is beyond useless when all you did was wrap something in an if/else. (And yes, P4V tools have "ignore all white space" - which is a great way to produce a completely useless merge result, in my experience. If you can tune out of nonsensical indentation in one side of the comparison, it's at least passable for diffing.)
- ansible 5y agoThere are starting to be more code-aware diff tools. https://github.com/Wilfred/difftastic https://github.com/Wilfred/difftastic I'm currently trying this out, but I'm not sure if I'll keep using it.
- jshowalter 5y agoRational only stored the diffs between two decorated abstract syntax trees. So you got as-you-like it pretty printing, no conflicts on formatting, just everything you ever dreamed of. In 1987.
- CamouflagedKiwi 5y agoGoogle has something that acts sort of like it with a bit of modernisation, but it's not actually Perforce any more (it's called Piper, there's some info out there). They out-scaled Perforce some years back.