git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Michael K. Edwards" <medwards.linux@gmail.com>
To: "Guilhem Bonnefille" <guilhem.bonnefille@gmail.com>
Cc: "Linus Torvalds" <torvalds@linux-foundation.org>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Marcin Kasperski" <Marcin.Kasperski@softax.com.pl>,
	git@vger.kernel.org
Subject: Re: GIT vs Other: Need argument
Date: Wed, 18 Apr 2007 14:21:37 -0700	[thread overview]
Message-ID: <f2b55d220704181421o3376d69fh8d0217de3c8242bf@mail.gmail.com> (raw)
In-Reply-To: <8b65902a0704181308i41c878ebi88c03a929769ba39@mail.gmail.com>

Suppose I were dealing with career software developers, backed by real
money, who also happened to be intelligent, thoughtful people, and I
wanted to make the case for git vs. CVS/SVN.  I'd start by handing
them copies of the O'Reilly Perforce book and suggesting that they
read it cover to cover.  Focus on the chapters on how well organized
development and release branches, and good tracking of feature/fix
propagation among them, can help you cope with the vagaries of
real-life software development.

Then I'd explain the relative merits of Perforce and git -- on one
hand, availability and quality of documentation, training, tech
support, and Windows versions; on the other hand, a genuinely
distributed design, which means that you don't need psychic powers to
arrive at a sane branch structure.  Specifically, git's design makes
private branches ultra-cheap for the developers that use them and
zero-impact on the release infrastructure, and the integrity of
_content_ and _history_ doesn't rely on any resemblance between my
branch layout and yours.  Speed, scalability, zero license cost, and
the hypothetical ability to hack on it yourself are nice too, but
they're basically fringe issues unless you're so big that you can't
just throw money at the problem -- in which case they're still fringe
issues because you're the enterprise-customer tail that wags the
vendor dog.  (If you're big _and_ cash-poor, or if you're stuck on a
VC system so badly designed that no amount of money thrown at the
problem will help, you have a different problem.)

If you do this right, it should be clear that CVS is in the dust on
all fronts and SVN doesn't (AFAICT) have any advantage over Perforce
that git doesn't have more of.  You might also mention that git was
designed by Linus to systematically not suck, and has been
successfully handed over to a strong maintenance/enhancement team that
works in public view.  And Linus is still here policing to keep
suckage from creeping in.  ;-)  The hypothetical smart developers will
then agree to go with either Perforce or git, depending on which the
people who have to do the hard work -- release managers and the IT
Morlocks -- are most comfortable with.

If you take this route, be prepared to wind up with Perforce.  It's
got its weaknesses, and I prefer git myself, but you could certainly
do a lot worse.  I'm not as anti-SVN as Linus, but there aren't many
workflows for which I would recommend it over Perforce.  Personally, I
wouldn't voluntarily introduce any other version control system into
the discussion, because the others that I've used in the course of one
day job or another suck massively by comparison, and the ones I
haven't used (or have only toyed with) don't appear to have any
compelling advantage over git.  (Having _marginally_ better
documentation isn't much to brag about).

Until someone writes a good book on git and sets up shop as a
commercial support organization, presenting Perforce vs. git as a
classic buy/build decision is probably the best you can do.  (You
don't have to "build" git, of course, but you'd have to build your own
in-house training and tech support capability.)  I say this as someone
who routinely sits in the "release manager" chair, uses git by choice,
and is currently suffering the pain and agony of migrating a perfectly
good git-based integration process to Perforce, simply because it
appears to be the right thing for this developer organization.
(Doubtless this colors my opinion du jour.)

Cheers,
- Michael

  parent reply	other threads:[~2007-04-18 21:21 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-17  9:02 GIT vs Other: Need argument Pietro Mascagni
2007-04-17  9:13 ` Matthieu Moy
2007-04-17 10:26   ` Andy Parkins
2007-04-17 14:32     ` Alex Riesen
2007-04-17 10:37   ` Martin Langhoff
2007-04-17 15:28   ` Linus Torvalds
2007-04-17 17:07     ` Matthieu Moy
2007-04-17 10:33 ` Martin Langhoff
2007-04-17 14:39   ` Alex Riesen
2007-04-25  8:58     ` Dana How
2007-04-25 10:35       ` Alex Riesen
2007-04-17 10:45 ` Tomash Brechko
2007-04-17 15:41   ` Guilhem Bonnefille
2007-04-17 17:18     ` Andy Parkins
2007-04-17 17:30       ` Shawn O. Pearce
2007-04-17 19:36         ` Marcin Kasperski
2007-04-18 10:05           ` Johannes Schindelin
2007-04-18 16:07             ` Linus Torvalds
2007-04-18 16:31               ` Nicolas Pitre
2007-04-18 16:49               ` Bill Lear
2007-04-18 17:43                 ` Matthieu Moy
2007-04-18 17:50                   ` Nicolas Pitre
2007-04-19 13:16                     ` Matthieu Moy
2007-04-19 18:44                       ` Petr Baudis
2007-04-20  9:04                         ` Matthieu Moy
2007-04-18 20:57                   ` Theodore Tso
2007-04-18 20:08               ` Guilhem Bonnefille
2007-04-18 20:19                 ` Linus Torvalds
2007-04-18 21:45                   ` Daniel Barkalow
2007-04-18 21:21                 ` Michael K. Edwards [this message]
2007-04-19  8:37                 ` Johannes Schindelin
2007-04-19 13:29                   ` Matthieu Moy
2007-04-19  9:24               ` Johannes Schindelin
2007-04-19 12:21                 ` Alex Riesen
2007-04-19 12:22                 ` Christian MICHON
2007-04-19 12:37                   ` Johannes Schindelin
2007-04-19 12:54                     ` Christian MICHON
2007-04-19 16:43                 ` Linus Torvalds
2007-04-19 17:49                   ` Marcin Kasperski
2007-04-19 20:57                     ` Linus Torvalds
2007-04-23 18:54                       ` Carl Worth
2007-04-23 19:52                         ` Josef Weidendorfer
2007-04-23 22:12                           ` Carl Worth
2007-04-23 22:23                         ` Junio C Hamano
2007-04-23 22:58                           ` Carl Worth
2007-04-23 23:24                             ` Linus Torvalds
2007-04-23 23:55                               ` Brian Gernhardt
2007-04-24  1:31                               ` Daniel Barkalow
2007-04-24  5:15                               ` Junio C Hamano
2007-04-24 14:23                                 ` J. Bruce Fields
2007-04-24 15:01                                   ` Linus Torvalds
2007-04-30  4:31                                     ` J. Bruce Fields
2007-04-25 13:12                                 ` Making git disappear when talking about my code (was: Re: GIT vs Other: Need argument) Carl Worth
2007-04-25 14:09                                   ` Carl Worth
2007-04-25 14:55                                     ` Linus Torvalds
2007-04-25 16:28                                       ` Carl Worth
2007-04-25 18:07                                         ` Nicolas Pitre
2007-04-25 19:03                                           ` Carl Worth
2007-04-25 19:17                                             ` Making git disappear when talking about my code Junio C Hamano
2007-04-25 19:22                                               ` Nicolas Pitre
2007-04-25 20:26                                               ` Carl Worth
2007-04-25 20:23                                             ` Making git disappear when talking about my code (was: Re: GIT vs Other: Need argument) Nicolas Pitre
2007-04-25 14:51                                   ` Linus Torvalds
2007-04-25 19:44                                   ` Daniel Barkalow
2007-04-25 19:56                                     ` Making git disappear when talking about my code Junio C Hamano
2007-04-25 20:29                                       ` Linus Torvalds
2007-04-25 20:32                                       ` Nicolas Pitre
2007-04-25 21:38                                       ` Daniel Barkalow
2007-04-25 20:29                                     ` Making git disappear when talking about my code (was: Re: GIT vs Other: Need argument) Carl Worth
2007-04-25 22:39                                       ` Daniel Barkalow
2007-04-25 20:31                                     ` Nicolas Pitre
2007-04-23 23:22                         ` GIT vs Other: Need argument Junio C Hamano
2007-04-19 20:49                   ` Johannes Schindelin
2007-04-20 15:54                   ` History cleanup/rewriting script for git Jan Harkes
2007-04-20 18:39                     ` Johannes Schindelin
2007-04-20 18:44                       ` Petr Baudis
2007-04-20 20:36                       ` Jan Harkes
2007-04-19 12:15               ` GIT vs Other: Need argument Marcin Kasperski
2007-04-19 12:33                 ` Johannes Schindelin
2007-04-19 12:42                   ` Marcin Kasperski
2007-04-19 13:36                     ` Johannes Schindelin
2007-04-19 14:27                     ` J. Bruce Fields
2007-04-19 12:45                   ` Theodore Tso
2007-04-19 12:46               ` [ANNOUNCE] Cogito is for sale Petr Baudis
2007-04-19 13:32                 ` Matthieu Moy
2007-04-19 20:23                 ` Junio C Hamano
2007-04-19 20:42                   ` Johannes Schindelin
     [not found]             ` <1176984208.30690.18.camel@cauchy.softax.local>
2007-04-19 12:28               ` GIT vs Other: Need argument Johannes Schindelin
2007-04-19 12:37                 ` Marcin Kasperski
2007-04-19 13:32                   ` Johannes Schindelin
     [not found]           ` <200704172239.20124.andyparkins@gmail.com>
2007-04-19 11:59             ` Marcin Kasperski
2007-04-19 12:48               ` Alex Riesen
2007-04-19 12:57               ` Andy Parkins
2007-04-20  6:22               ` Shawn O. Pearce
2007-04-20 13:03                 ` Eric Blake
2007-04-18 12:40       ` Guilhem Bonnefille
2007-04-18 13:26         ` Andy Parkins
2007-04-18 17:08           ` Steven Grimm
2007-04-19  0:33             ` Jakub Narebski
2007-04-19  1:24               ` Steven Grimm
2007-04-19  2:08                 ` Jakub Narebski
2007-04-19  8:48                   ` Johannes Schindelin
2007-04-19  8:57                     ` Julian Phillips
2007-04-19 19:03                     ` Steven Grimm
2007-04-19 21:00                       ` Johannes Schindelin
2007-04-19  2:11                 ` Junio C Hamano
2007-04-19  6:02                   ` Junio C Hamano
2007-04-19 18:18                     ` Steven Grimm
2007-04-19 23:30                       ` Junio C Hamano
2007-04-20  5:32                         ` Shawn O. Pearce
2007-04-20  9:04                         ` Jakub Narebski
2007-04-20 10:18                         ` Karl Hasselström
2007-04-20 10:39                           ` Junio C Hamano
2007-04-20 13:57                             ` Petr Baudis
2007-04-20  8:36                       ` Junio C Hamano
2007-04-20 16:42                         ` Steven Grimm
2007-04-18 20:54           ` Yann Dirson
2007-04-18  3:09     ` Sam Vilain
2007-04-18 20:49   ` Yann Dirson
2007-04-25  8:55   ` Dana How

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f2b55d220704181421o3376d69fh8d0217de3c8242bf@mail.gmail.com \
    --to=medwards.linux@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=Marcin.Kasperski@softax.com.pl \
    --cc=git@vger.kernel.org \
    --cc=guilhem.bonnefille@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).