git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Christian Couder <chriscool@tuxfamily.org>, git@vger.kernel.org
Subject: Re: Google Code: Support for Mercurial and Analysis of Git and Mercurial
Date: Mon, 27 Apr 2009 14:15:02 -0700	[thread overview]
Message-ID: <20090427211502.GI23604@spearce.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0904261208000.10279@pacific.mpi-cbg.de>

Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Sun, 26 Apr 2009, Christian Couder wrote:
> 
> > For information, now Google Code supports Mercurial [...]
> > 
> > Mercurial was choosen over Git because of this (one year old) analysis:
> > 
> > http://code.google.com/p/support/wiki/DVCSAnalysis
> 
> FWIW some little bird (yes, related to the Google Code team) told me that 
> the real reason was because [...]

There were certainly technical factors involved.

As the DVCSAnalysis document above describes, Hg's relatively
efficient custom Hg-in-HTTP protocol performs about as well as git://
does, but requires only stateless HTTP, rather than a stateful
direct TCP connection.

There is a fundemental reason why Google App Engine only supports
incoming HTTP connections on 80/443.  Its easy to stand up a new
application behind the existing load balancers.  Its quite a bit
more effort to add support for yet-another-protocol.

As the recent discussion on eclipse.egit

  http://www.eclipse.org/newsportal/article.php?id=34&group=eclipse.egit#34

showed, many users are stuck behind corporate firewalls where only
HTTP transit is available.

Tossing aside the Google server infrastructure and why HTTP might be
preferred there, Google also tries to target the widest user base
possible.  Running your VCS through HTTP, which can be easily run
through a corporate proxy, gives a wider user base than running your
VCS through an SSH tunnel, or a relatively new IANA assigned port.

A long-time GCC committer, and an old SVN committer, pointed out
to me the other day that the reason why SVN uses HTTP is so it
can get around corporate firewalls without involving the IT staff.
Because for the past 10 years, being "on the Internet" has meant
being "behind an HTTP and SMTP proxy".  And "tunneling through HTTP"
is somehow safe, no matter how insecure the protocol might be;
while opening an IANA assigned port causes the world to end.

IOW, if Git wants to expand into these user communities where the
individual is stuck behind a corporate proxy that only permits HTTP
"for security reasons" (but blindly winds up passing through whatever
it gets), we need to support a more efficient HTTP protocol.

-- 
Shawn.

  parent reply	other threads:[~2009-04-27 21:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-26  5:03 Google Code: Support for Mercurial and Analysis of Git and Mercurial Christian Couder
2009-04-26  7:12 ` Michael Witten
2009-04-26  8:16 ` Jakub Narebski
2009-04-26  8:23   ` Paolo Ciarrocchi
2009-04-26 10:07     ` Johannes Schindelin
2009-04-26 10:16       ` Jakub Narebski
2009-04-26 10:18       ` Johannes Schindelin
2009-04-26 12:02         ` Alex Blewitt
2009-04-27 20:31           ` Shawn O. Pearce
2009-04-26 10:21       ` Paolo Ciarrocchi
2009-04-26  9:21   ` Matthias Andree
2009-04-26 10:09     ` Jakub Narebski
2009-04-26 11:47       ` Matthias Andree
2009-04-26 19:57       ` Jakub Narebski
2009-04-26 14:54   ` A Large Angry SCM
2009-04-26 16:45     ` Michael Witten
2009-04-26 16:56     ` Johannes Schindelin
2009-04-26 17:33       ` A Large Angry SCM
2009-04-26 17:45         ` Johannes Schindelin
2009-04-26 18:00           ` A Large Angry SCM
2009-04-26 18:59   ` James Cloos
2009-04-26 10:13 ` Johannes Schindelin
2009-04-26 16:47   ` Michael Witten
2009-04-26 22:24   ` Miles Bader
2009-04-27 21:15   ` Shawn O. Pearce [this message]
2009-04-30  0:00     ` Mark Lodato

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

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

  git send-email \
    --in-reply-to=20090427211502.GI23604@spearce.org \
    --to=spearce@spearce.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.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.
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 NNTP newsgroup(s).