git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Michael J Gruber <git@drmicha.warpmail.net>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Sverre Rabbelier <srabbelier@gmail.com>,
	Ilari Liusvaara <ilari.liusvaara@elisanet.fi>,
	Daniel Barkalow <barkalow@iabervon.org>
Subject: Re: [PATCH v4 00/13] New remote-hg helper
Date: Fri, 2 Nov 2012 10:46:18 -0400	[thread overview]
Message-ID: <20121102144618.GA11170@sigill.intra.peff.net> (raw)
In-Reply-To: <CAMP44s2PDZwTW55NDho9DyB2XZmsG0-KH4e78grJ2OFRVZkfjg@mail.gmail.com>

On Wed, Oct 31, 2012 at 05:11:39PM +0100, Felipe Contreras wrote:

> > As a patch
> > submitter, you ("generic you") want the attention of others as
> > reviewers. It's in your own (again "generic you") interest not to put
> > them off, in the same way as it's up to the submitter to argue why a
> > patch is desirable and correct.
> 
> Ah, so you are making me a favor by reviewing the code?

I do not want to get embroiled in a discussion of manners and netiquette
(or, for that matter, nazis). But I think this point is worth calling
attention to, because it seems to be at the crux of the matter.

Basically, my opinion is that yes, he is doing a favor to you by
reviewing the code. Just as you have done us a favor by submitting the
code. And this is not specific to this topic or to you as a submitter.
It is a part of how the open source process works.

We have an existing code base that works well. It certainly has some
bugs, and it certainly is missing some features. But people use it every
day and are happy. The maintainers of that code base would want it to
improve over time, but they would also have to be careful not to
introduce regressions. And not just specific regressions in behavior; I
mean regressions in overall quality. A half-implemented feature that
crashes is worse than no feature at all. A change that fixes one bug but
hurts the readability of the code, leading to many future bugs, is a net
negative.

So when a contributor shows up with code, we are very grateful that
they've spent their time improving our software. But at the same time,
we must recognize that the contributor is generally scratching their own
itch. And we must make sure that in doing so, they did not hurt other
people's use cases, nor regress the overall quality of the code base.

It is the job of the maintainer to measure the risk and reward of each
change and to find a balance in accepting patches. But it's difficult to
do alone, and that is why volunteer reviewers on the list are very
valuable. They distribute the reviewing load across many brains, and in
many cases have expertise in particular areas that the maintainer can
rely on.

A submitter has scratched their own itch by writing the code. But if
they cannot cooperate with reviewers enough to get feedback, then the
maintainer has only two choices: review the patches themselves, or
reject the change. And when there is conflict with the regular reviewers
and the submitter, it is a red flag to the maintainer that it might not
be worth spending a lot of time there.

Does the code base suffer for this in the end? Perhaps. There are
features we might reject that could have benefited everybody. But we
might also be saving ourselves from the headaches caused by poorly
thought-out changes. The system cannot work if everybody does not show
up and cooperate.


Now, as for this specific topic: it is proposed for contrib, which means
that expectations are lower, and the rest of git does not suffer too
much if it has rough edges. At the same time, it also means that it
could live fairly easily outside of the tree. In fact, I think Michael
and others have been reasonably happy with their own out-of-tree
implementation.

I do think the proliferation of various implementations has made it hard
for users to see which ones are worth trying. So I think there is value
in carrying something in contrib/, as it would focus the attention of
users, and of other developers to make improvements.

So I think what I'd like to do is take your latest series into pu, with
the intention of merging it into next soon, and then cooking it in next
for a while. That would hopefully make it very easy for people following
'next' to try it out and see how it compares in the field with other
tools they have used (the msysgit one, or others).

I'm a little worried about hurting progress on the msysgit version; it
sounds like the functionality of your implementation is at parity with
that one (thanks to both you and Johannes for answering my other email
asking for a summary).  Johannes did mention that the design of their
tool was meant to eventually facilitate more backends. That's something
that might be valuable; on the other hand, that development hasn't been
happening, and there has been no effort lately on getting it merged into
git.git. I don't want to hold working code hostage to a future plan that
might or might not happen.  So I hope by keeping it in next for a bit,
that will give msysgit people time to check it out and mobilize their
efforts to improve their version if they would like.

-Peff

  reply	other threads:[~2012-11-02 14:46 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-28  3:54 [PATCH v4 00/13] New remote-hg helper Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 01/13] Add new remote-hg transport helper Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 02/13] remote-hg: add support for bookmarks Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 03/13] remote-hg: add support for pushing Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 04/13] remote-hg: add support for remote pushing Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 05/13] remote-hg: add support to push URLs Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 06/13] remote-hg: make sure the encoding is correct Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 07/13] remote-hg: match hg merge behavior Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 08/13] remote-hg: add support for hg-git compat mode Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 09/13] remote-hg: add compat for hg-git author fixes Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 10/13] remote-hg: fake bookmark when there's none Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 11/13] remote-hg: add support for fake remote Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 12/13] remote-hg: add tests to compare with hg-git Felipe Contreras
2012-10-28  3:54 ` [PATCH v4 13/13] remote-hg: add extra author test Felipe Contreras
2012-10-29  8:50 ` [PATCH v4 00/13] New remote-hg helper Jeff King
2012-10-29 14:56   ` Felipe Contreras
2012-10-29 21:26     ` Jeff King
2012-10-29 21:47       ` Felipe Contreras
2012-10-29 21:56         ` Jeff King
2012-10-29 22:02           ` Felipe Contreras
2012-10-29 22:06             ` Jeff King
2012-10-30 17:18               ` Felipe Contreras
2012-10-30 17:20           ` Johannes Schindelin
2012-10-30 18:10             ` Felipe Contreras
2012-10-30 19:33               ` Johannes Schindelin
2012-10-30 20:15                 ` Felipe Contreras
2012-10-31  9:30                   ` Michael J Gruber
2012-10-31 10:27                     ` Jeff King
2012-10-31 15:58                       ` Felipe Contreras
2012-10-31 18:20                       ` Johannes Schindelin
2012-10-31 18:41                         ` Felipe Contreras
2012-10-31 18:59                           ` Jonathan Nieder
2012-10-31 19:24                             ` Felipe Contreras
2012-10-31 20:28                               ` Lack of netiquette, was " Johannes Schindelin
2012-10-31 20:37                                 ` Felipe Contreras
2012-11-01  1:32                                 ` Junio C Hamano
2012-11-01  2:58                                   ` Felipe Contreras
2012-11-01 13:46                                     ` René Scharfe
2012-11-01 14:18                                       ` Tomas Carnecky
2012-11-01 14:18                                       ` Martin Langhoff
2012-11-01 14:34                                       ` Felipe Contreras
2012-11-01 14:47                                         ` Martin Langhoff
2012-11-01 17:13                                           ` Felipe Contreras
2012-11-02  9:38                                       ` Andreas Ericsson
2012-11-02 11:03                                         ` Michael J Gruber
2012-11-02 16:09                                           ` Felipe Contreras
2012-11-05  9:25                                             ` Michael J Gruber
2012-11-05 15:22                                               ` Felipe Contreras
2012-11-05 15:58                                                 ` Felipe Contreras
2012-11-05 16:00                                                 ` Michael J Gruber
2012-11-05 16:15                                                   ` Felipe Contreras
2012-11-01 20:46                                   ` Jonathan Nieder
2012-10-31 23:14                               ` Daniel Barkalow
2012-11-01  2:46                                 ` Felipe Contreras
2012-11-01  1:41                         ` Junio C Hamano
2012-11-01  2:54                           ` Felipe Contreras
2012-10-31 15:39                     ` Felipe Contreras
2012-10-31 15:55                       ` Michael J Gruber
2012-10-31 16:11                         ` Felipe Contreras
2012-11-02 14:46                           ` Jeff King [this message]
2012-11-02 18:39                             ` Felipe Contreras
2012-11-02 19:20                               ` Felipe Contreras
2012-11-04  2:28                                 ` Felipe Contreras
2012-11-02 23:18                               ` Thomas Adam
2012-11-02 23:52                                 ` Felipe Contreras
2012-10-31 18:04                         ` Felipe Contreras
2012-10-31 19:47                           ` Felipe Contreras
2012-11-01  4:08                             ` Felipe Contreras
2012-11-02 14:48                               ` Jeff King
2012-11-02 16:41                                 ` Felipe Contreras
2012-11-02 18:01                                   ` Felipe Contreras
2012-11-05 14:13                                     ` Michael J Gruber
2012-11-05 15:36                                       ` Felipe Contreras
2012-11-01  1:22                       ` Junio C Hamano
2012-11-01  2:50                         ` Felipe Contreras

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=20121102144618.GA11170@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=barkalow@iabervon.org \
    --cc=felipe.contreras@gmail.com \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ilari.liusvaara@elisanet.fi \
    --cc=srabbelier@gmail.com \
    /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).