{"thread":{"id":"10359","subject":"Subversion developer: svn is for dumb people","startedAt":"2007-10-18T14:25:36Z","lastAt":"2007-10-19T13:19:34Z","messageCount":8,"participants":["Steven Grimm","David Brown","Jeff King","Sam Vilain","Pierre Habouzit","Andy Parkins","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"56403","messageId":"47176CE0.7030609@midwinter.com","threadId":"10359","inReplyTo":null,"subject":"Subversion developer: svn is for dumb people","fromName":"Steven Grimm","fromEmail":"koreth@midwinter.com","sentAt":"2007-10-18T14:25:36Z","receivedAt":"2007-10-18T14:25:36Z","isPatch":false,"sender":{"key":"koreth@midwinter.com","avatar":"https://gravatar.com/avatar/71b4d2e8b62f168bdc9e9205341159e3567003b4f9e2127c617c5fa0a1f5bad2?d=mp&s=160"},"body":"Thought folks here might get a kick out of this:\n\nhttp://blog.red-bean.com/sussman/?p=79\n\nOkay, my summary is slightly facetious, but that's basically the gist of \nwhat he's saying: you should choose Subversion rather than a DVCS \nbecause most of your users won't be smart enough to use the better tool.\n\nI can't say he's completely wrong, especially about the 20/80% idea \n(though I think \"20%\" is generous), but some of his specific arguments \nabout DVCS are on the bogus side. \"Centralized systems encourage code \nreviews,\" for one -- I challenge him to find a project with a more \npervasive and effective code-reviewing culture than the git project. I \nfind code reviews *harder* in a centralized system because you end up \nbuilding external tools to help people try out each other's changes.\n\n-Steve\n"},{"id":"56416","messageId":"20071018165711.GA24460@old.davidb.org","threadId":"10359","inReplyTo":"47176CE0.7030609@midwinter.com","subject":"Re: Subversion developer: svn is for dumb people","fromName":"David Brown","fromEmail":"git@davidb.org","sentAt":"2007-10-18T16:57:11Z","receivedAt":"2007-10-18T16:57:11Z","isPatch":false,"sender":{"key":"git@davidb.org","avatar":"https://gravatar.com/avatar/94c86a2938470a74c2eac5e2b69afc0871f79a660295c02219597aba8cb101c1?d=mp&s=160"},"body":"On Thu, Oct 18, 2007 at 07:25:36AM -0700, Steven Grimm wrote:\n\n> I can't say he's completely wrong, especially about the 20/80% idea (though \n> I think \"20%\" is generous), but some of his specific arguments about DVCS \n> are on the bogus side. \"Centralized systems encourage code reviews,\" for \n> one -- I challenge him to find a project with a more pervasive and \n> effective code-reviewing culture than the git project. I find code reviews \n> *harder* in a centralized system because you end up building external tools \n> to help people try out each other's changes.\n\nThe review comment is completely bogus.  Centralized systems, at least like\nSVN and P4 encourage a check-it-in-deal-with-the-problems-later attitude.\nThe tool discourages you from trying out other's changes, whereas a DVCS\ntends to have lots of little branches and easy migration between them.\n\nI think this is less an issue of distributed or not, but more that branches\nare just so expensive in most other revision control systems.  Whether that\nis expensive in resource, or just in understanding what is going on (for\nexample, requiring users to track merge ancestors is rediculous).\n\nDavid\n"},{"id":"56423","messageId":"20071018183353.GD11624@sigill.intra.peff.net","threadId":"10359","inReplyTo":"47176CE0.7030609@midwinter.com","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-10-18T18:33:53Z","receivedAt":"2007-10-18T18:33:53Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Oct 18, 2007 at 07:25:36AM -0700, Steven Grimm wrote:\n\n> Okay, my summary is slightly facetious, but that's basically the gist of \n> what he's saying: you should choose Subversion rather than a DVCS because \n> most of your users won't be smart enough to use the better tool.\n\nAn interesting point he brings up (which I think is totally bogus) is\n(paraphrased): \"DVCS systems encourage people to work in isolation and\nthen patch-bomb the upstream.\"\n\nBut I think it's quite the opposite. He compares two scenarios: in\n$DVCS, the user forks, works quietly in their cave for a few weeks, and\nthen produces a result. With a centralized VCS, the user gets a private\nbranch, and people keep up with their work as it progresses.\n\nThis isn't realistic for two reasons:\n\n  1. Contributors to projects now using DVCS systems _weren't_ using SVN\n     or CVS in this way before (presumably because the effort in getting\n     private branches set up in a central repository was too much -- if\n     I want to hack on a project, I want to do it _now_, not after I\n     have gotten approval to use the VCS by the maintainer).  Instead,\n     they sat in their cave using primitive tools like 'diff' and\n     'patch' until they patch-bombed the upstream.\n\n  2. DVCS systems (well, git, at least) focus on workflows that allow\n     for quick communication and code review. Patches are a first-class\n     item in git, which means that\n       - every change is on the mailing list for review\n       - work-in-progress patches are easy to post, easy for reviewers\n         to read, easy for reviewers to apply, and, if accepted,\n         easy for the maintainer to apply\n\n-Peff\n"},{"id":"56436","messageId":"4717E0FB.1060705@vilain.net","threadId":"10359","inReplyTo":"47176CE0.7030609@midwinter.com","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2007-10-18T22:40:59Z","receivedAt":"2007-10-18T22:40:59Z","isPatch":false,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"Steven Grimm wrote:\n> some of his specific arguments\n> about DVCS are on the bogus side. \"Centralized systems encourage code \n> reviews,\" for one --\n\nI heard this from the core Subversion team too.  The hypothesis is that\nby forcing groups to be unable to proceed without continually rebasing\nto each other's work, that collaboration is enhanced.\n\nI think any argument which states that a restrictive system is better\nthan a non-restrictive system, when the non-restrictive system can be\nused in the same way as the restrictive system (either with\nconfiguration, or agreement with the committers) is quite bizarre.\n\nSam.\n"},{"id":"56558","messageId":"20071019113447.GC4404@artemis.corp","threadId":"10359","inReplyTo":"47176CE0.7030609@midwinter.com","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Pierre Habouzit","fromEmail":"madcoder@debian.org","sentAt":"2007-10-19T11:34:47Z","receivedAt":"2007-10-19T11:34:47Z","isPatch":false,"sender":{"key":"madcoder@debian.org","avatar":"https://avatars.githubusercontent.com/u/44708?v=4"},"body":"On Thu, Oct 18, 2007 at 02:25:36PM +0000, Steven Grimm wrote:\n> Thought folks here might get a kick out of this:\n> \n> http://blog.red-bean.com/sussman/?p=79\n> \n> Okay, my summary is slightly facetious, but that's basically the gist of \n> what he's saying: you should choose Subversion rather than a DVCS because \n> most of your users won't be smart enough to use the better tool.\n> \n> I can't say he's completely wrong, especially about the 20/80% idea \n> (though I think \"20%\" is generous), but some of his specific arguments \n> about DVCS are on the bogus side. \"Centralized systems encourage code \n> reviews,\" for one -- I challenge him to find a project with a more \n> pervasive and effective code-reviewing culture than the git project.\n\n  Your argument is also bogus.\n\n  IMNSHO, peer reviewing has nothing to do with git, svn, or $SCM. It's\na social pattern. There are people that do it because they understand\nit's a good and necessary sound thing to do, and there are the others.\nGuess what, it has a lot to do with the 20%/80% line (that I would have\nmore described as the 2/98 but well…).\n\n  Put git into the hands of fools, they won't proofread their code more\nor less than with svn. And they will shoot themselves into their foots\ntwice as often as with svn.\n\n  Though, for people that are able to deal with git and use it, git\nallows way better code reviewing patterns than with svn, because you\ncan prepare a nice incremental branch that adds each new features you\nworked on with small patches (see my parse-options series). With svn,\nyou can't do that, because there is no tool that allow you to record\nthose patches on your end, so you submit a big +4123/-2341 patch. That\nmakes peer reviewing really harder.\n\n  Of course the git community is a perfect example of how code should be\nreviewed. But it's not because we use git, it's because we definitely\nare in the \"20%\".\n\n-- \n·O·  Pierre Habouzit\n··O                                                madcoder@debian.org\nOOO                                                http://www.madism.org\n"},{"id":"56567","messageId":"ffa6r7$223$1@ger.gmane.org","threadId":"10359","inReplyTo":"47176CE0.7030609@midwinter.com","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-10-19T12:10:15Z","receivedAt":"2007-10-19T12:10:15Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"Steven Grimm wrote:\n\n> find code reviews *harder* in a centralized system because you end up\n\nI think I'd argue that git actually reduces the problems of patchbombs\n(which is a code-review problem).\n\nThose who are going to patchbomb will do it whatever their VCS choice (and\nI'm not entirely convinced that patchbombs are as bad as is made out in\nthat article).  With a centralised VCS the patch almost has to be one giant\ndiff - very hard to read and review.  Git, on the other hand, allows the\npatchbomber to work alone crafting not only beautiful code, but a beautiful\npatch series.  The bomb can be easy to review, easy to reject, and easy to\nmodify.  It becomes far more likely that the code can be used in some way.\n\nI guarantee that the only reason I ever contributed anything to git itself\nwas because the bureaucracy line is so low - and it is low because of git.\n\nKey features for a DVCS from a newbie point of view:\n - Making a fool of yourself can be done in private rather than in public.\n   I have loads of branches in my git repository that I will never submit,\n   because they were the beginnings of ideas that didn't pan out (and I'm \n   lazy)\n - You don't need _any_ permission to fork/branch.\n - You can work away on your feature without worrying too much that time\n   has passed and the main project has moved on and you aren't keeping up\n   to date.  I've got a set of patches for git (the REF_PATHS stuff) that I\n   started a year ago.  I recently rebased it and brought it up to date.\n   It's still not in mainline, but I'm not panicking, nor do I have to\n   abandon it because it's so easy to catch up whenever I want to.\n - I can work on two features simultaneously.  If I have two ideas - crazy\n   and safe, both independent, I can work on both without having to mix\n   them for the day when I submit.  This makes it a lot easier to keep them\n   on the go, and a lot easier for the maintainer to decide what goes in and\n   what doesn't.\n - The ability to craft a log messages that are kept locally and easily\n   edited before submission goes a long way to helping cross the\n   brave-enough-to-submit barrier.  Presenting new code as an unknown\n   developer on a project is (I think) quite a stressful thing.  Git let's\n   you feel as prepared as you want before you take that leap into having\n   your code ripped apart.\n\nIn short: those pro-centralised arguments are nonsense.  Even if they\nweren't the advantages of DVCS heavily outweigh the advantages of CVCS.\n\n\n\nAndy\n\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"56572","messageId":"Pine.LNX.4.64.0710191514190.16728@wbgn129.biozentrum.uni-wuerzburg.de","threadId":"10359","inReplyTo":"20071019113447.GC4404@artemis.corp","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-10-19T13:17:05Z","receivedAt":"2007-10-19T13:17:05Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 19 Oct 2007, Pierre Habouzit wrote:\n\n> On Thu, Oct 18, 2007 at 02:25:36PM +0000, Steven Grimm wrote:\n> > Thought folks here might get a kick out of this:\n> > \n> > http://blog.red-bean.com/sussman/?p=79\n> > \n> > Okay, my summary is slightly facetious, but that's basically the gist \n> > of what he's saying: you should choose Subversion rather than a DVCS \n> > because most of your users won't be smart enough to use the better \n> > tool.\n> > \n> > I can't say he's completely wrong, especially about the 20/80% idea \n> > (though I think \"20%\" is generous), but some of his specific arguments \n> > about DVCS are on the bogus side. \"Centralized systems encourage code \n> > reviews,\" for one -- I challenge him to find a project with a more \n> > pervasive and effective code-reviewing culture than the git project.\n> \n>   Your argument is also bogus.\n> \n>   IMNSHO, peer reviewing has nothing to do with git, svn, or $SCM. It's \n> a social pattern. There are people that do it because they understand \n> it's a good and necessary sound thing to do, and there are the others. \n> Guess what, it has a lot to do with the 20%/80% line (that I would have \n> more described as the 2/98 but well…).\n\nI tend to disagree.  Git at least _enables_ you to have the \none-committer-per-repository scheme, it even _encourages_ it to a certain \nextent.\n\nAnd once you go that route, it is easy to see that the committer says \"I \nwill not let that _crap_ enter my repository.\"  Bingo, peer review.\n\nCompare that to a centralised repository, where more often than not, the \nadministrator is not even part of the developer community!  It is much \neasier not to feel too responsible for the code you are committing there.\n\nCiao,\nDscho\n"},{"id":"56573","messageId":"20071019131934.GD4404@artemis.corp","threadId":"10359","inReplyTo":"Pine.LNX.4.64.0710191514190.16728@wbgn129.biozentrum.uni-wuerzburg.de","subject":"Re: Subversion developer: svn is for dumb people","fromName":"Pierre Habouzit","fromEmail":"madcoder@debian.org","sentAt":"2007-10-19T13:19:34Z","receivedAt":"2007-10-19T13:19:34Z","isPatch":false,"sender":{"key":"madcoder@debian.org","avatar":"https://avatars.githubusercontent.com/u/44708?v=4"},"body":"On Fri, Oct 19, 2007 at 01:17:05PM +0000, Johannes Schindelin wrote:\n> Hi,\n> \n> On Fri, 19 Oct 2007, Pierre Habouzit wrote:\n> \n> > On Thu, Oct 18, 2007 at 02:25:36PM +0000, Steven Grimm wrote:\n> > > Thought folks here might get a kick out of this:\n> > > \n> > > http://blog.red-bean.com/sussman/?p=79\n> > > \n> > > Okay, my summary is slightly facetious, but that's basically the gist \n> > > of what he's saying: you should choose Subversion rather than a DVCS \n> > > because most of your users won't be smart enough to use the better \n> > > tool.\n> > > \n> > > I can't say he's completely wrong, especially about the 20/80% idea \n> > > (though I think \"20%\" is generous), but some of his specific arguments \n> > > about DVCS are on the bogus side. \"Centralized systems encourage code \n> > > reviews,\" for one -- I challenge him to find a project with a more \n> > > pervasive and effective code-reviewing culture than the git project.\n> > \n> >   Your argument is also bogus.\n> > \n> >   IMNSHO, peer reviewing has nothing to do with git, svn, or $SCM. It's \n> > a social pattern. There are people that do it because they understand \n> > it's a good and necessary sound thing to do, and there are the others. \n> > Guess what, it has a lot to do with the 20%/80% line (that I would have \n> > more described as the 2/98 but well…).\n> \n> I tend to disagree.  Git at least _enables_ you to have the \n> one-committer-per-repository scheme, it even _encourages_ it to a certain \n> extent.\n> \n> And once you go that route, it is easy to see that the committer says \"I \n> will not let that _crap_ enter my repository.\"  Bingo, peer review.\n> \n> Compare that to a centralised repository, where more often than not, the \n> administrator is not even part of the developer community!  It is much \n> easier not to feel too responsible for the code you are committing there.\n\n  I agree, that's why I said that git made it easier. WHat I pretend to\nbe wrong is to say that a SCM will make people review code or not. Git\nmerely help people that want to always review code to be completely sure\nsome review has happened before the code is merged. But nothing in git\nforbids you to use the big fat <centralized repo with everyone having\npush access to it>-mode.\n\n\n-- \n·O·  Pierre Habouzit\n··O                                                madcoder@debian.org\nOOO                                                http://www.madism.org\n"}]}