Stubbisms – Tony’s Weblog

April 28, 2010

Linus’ Git Talk Index

Filed under: Java — Antony Stubbs @ 2:57 pm

Youtube won’t let me post big enough comments, so I’m putting it here.

12:00 Distribution
15:00 CVS Merge Branching
17:50 Perforce at Google
18:18 Committers – Ostensibly not morons
21:30 Question 1 – how to migrate big code bases
22:00 An actual example of distribution
27:00 Question 2 – Politics have just been shifted? You still have to merge. How?
27:38 Networks of trust and masturbation
28:00 The way Linus and Kernel development works
31:41 Question 3 – Are any companies using distributed systems? There seems to be a risk of code bases diverging too much.
32:30 Mercurial – the only other open source distributed VCS worth looking at. Everything else is either centralised, or too slow or unstable.
32:55 Question 3.5 – But is there an advantage for a company to have a centralised model?
33:00 Companies think there is, but there isn’t.
33:20 Git subversion (svn) interfacing
34:55 Question 4 – How does merging work in git in regards to merge conflicts?
37:55 Question 5 – Why is it necessary to be distributed in a company, if you had a system with really good merging?
38:30 Centralised systems work, but cannot work _as well_ as distributed systems.
40:00 Performance
40:40 Branch visibility
42:40 Ugly and stupid
43:15 Question 6 – How many files can git support?
45:54 Big SVN repositories
47:36 Projects that share code
49:25 Question 7 – If you have a huge tree, can you check out only part of it?
50:20 Performance – it’s not how fast you do it, it’s what it enables you to do differently
51:20 SVN designers are complete morons. It’s not branching – it’s the merging
55:15 Git implementation – simple data structures, complicated source code
56:14 Trust and reliability – data protection and security
58:48 Linus’s guarantee – get out what you put in
1:00:05 Trust and Google’s “just not that trustworthy” code hosting
1:03:00 Content vs files – what changed?
1:05:53 Question 8 – Would switching from Perforce just swap scalability problems for other scalability problems?

8 Comments »

  1. Out of interest does he (or anyone else) go into much detail about the downsides of Perforce?

    A transcript of the bit at 17:50:
    – What do you use here? Perforce?
    – I’m sorry… I’m sure it is better than CVS … a tiny bit

    He then gives the specific example that ‘access privileges’ are a reason that CVS/Perforce are bad. Which doesn’t really count for a dev house…

    I’m more than ready to say that Perforce isn’t the best and have been playing around with Hg for my personal projects. But it works, works well and branches/integrations happen as easily as I’ve seen with Hg… and in fact because of *how* we develop Perforce seems better suited than Hg/git (we literally run different branches /at the same time/).

    PS: This is just out of interest! I’m not saying Perforce is good, I just want to know how git is better 😉

    Comment by nshgraph — April 28, 2010 @ 7:13 pm

  2. PPS: video is tl;dw (yet). Will when I’m not at work.

    Comment by nshgraph — April 28, 2010 @ 7:13 pm

  3. BTW: The second line of transcript was surrounded by tags of ‘condescending’ but either wordpress is a fan of Linus Torvalds or strips things unnecessarily…

    Comment by nshgraph — April 28, 2010 @ 7:16 pm

  4. Yup – heaps:
    http://www.google.co.nz/search?num=30&hl=en&safe=off&q=git+perforce+site:reddit.com&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=

    http://news.ycombinator.com/item?id=516276

    Access privileges to count for a dev house when you look at it from the point of view of peer review.

    I’m not sure what you mean by “at the same time”, or why you think you can’t (you can) checkout two branches from git “at the same time”.

    From Linus’s point of view, the cons for perforce is also majorly that it is not distributed, which is a pretty big thing (it’s not just being able to work offline) – see his video on his explanation of why distributed trumps central.

    I’m also quite confident that you can’t fuck with your repo’s history in perforce like you can in git.
    “PPS: video is tl;dw (yet). Will when I’m not at work.”???

    Yes, i think it would strip the html unless you use HTML escape characters…

    Comment by Antony Stubbs — April 28, 2010 @ 7:46 pm

  5. more:

    btw I’m not saying these links prove anything, I’m just pointing you in the direction of discussion.

    Comment by Antony Stubbs — April 28, 2010 @ 7:48 pm

  6. From what James showed me of Perforce the other day, it looks frackin horrible.. :/

    Comment by Antony Stubbs — April 28, 2010 @ 7:53 pm

  7. >>Access privileges to count for a dev house when you look at it from the point of view of peer review.
    Not being able to submit doesn’t stop peer-review though really… and to be honest we have an all or nothing principle anyway. Stops managers from fscking with the code 😉

    >>I’m not sure what you mean by “at the same time”, or why you think you can’t (you can) checkout two branches from git “at the same time”.
    Really? OK. Seemed difficult and silly when someone else tried to explain it (basically having two repositories or something).

    >>I’m also quite confident that you can’t fuck with your repo’s history in perforce like you can in git.
    This was one of the biggest things we *didn’t* like about git.

    We had an interesting presentation on Friday about how to use git at our company. In a way that makes it distributed. Basically the guy was using git as his local repository and ‘pushing’ using Perforce.

    Looking at links now…

    Comment by nshgraph — April 28, 2010 @ 9:11 pm

  8. >> Not being able to submit doesn’t stop peer-review though really… and to be honest we have an all or nothing principle anyway. Stops managers from fscking with the code
    Not sure what you mean. Have a look at Gerrit 🙂 All or nothing? Stops managers?

    >> his was one of the biggest things we *didn’t* like about git.
    why? Used properly it can be incredibly useful – I can give you heaps of examples…
    And you can easily block your juniors from pushing up re-written changes.

    >>We had an interesting presentation on Friday about how to use git at our company. In a way that makes it distributed. Basically the guy was using git as his local repository and ‘pushing’ using Perforce.
    Yeah, james was support to being me to that :/
    Yes, that’s how I used git for the first year or so – using the SVN compatibility layer. But the Git power doesn’t truly unleash until you switch all the way over 🙂

    Btw- I asked the podcast guys, and they said Perforce was ok, not bad for a centralised system, and pretty good branching/merging support. 🙂 But they all swear by Git now 🙂

    Comment by Antony Stubbs — April 29, 2010 @ 11:00 pm


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.