git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Roberto Tyley <roberto.tyley@gmail.com>
Cc: Jeff King <peff@peff.net>, Git Mailing List <git@vger.kernel.org>
Subject: Re: [RFC/PATCH] point pull requesters to Git Git Gadget
Date: Wed, 13 Mar 2019 21:50:53 +0100 (STD)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.1903132119160.41@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <CAFY1edYQcWzYJXF6f_TRk4=bEMVnFXTAp=5u=TJ4XZ3UUd4EmA@mail.gmail.com>

Hi Roberto,

On Tue, 12 Mar 2019, Roberto Tyley wrote:

> On Tue, 12 Mar 2019 at 21:34, Jeff King <peff@peff.net> wrote:
> 
> > I feel a little bad sending this, because I really value the work that
> > Roberto has done on submitGit. So just dropping it feels a bit
> > dismissive.
> 
> Oh, you're very kind, that's ok! Very glad submitGit could help for a
> while, sounds like it was a good proof that GitHub could become part of
> the contribution process.

TBH I also felt quite bad for starting GitGitGadget rather than extending
submitGit. It's just that I faced too many obstacles with that:

- submitGit is stateless. I have *no* way of automatically including a
  range-diff.

- I remember that there were rather huge concerns about giving Amazon the
  keys to your email. This is so intricate a part of submitGit's design
  (even if you would change it to use another service to send mails in
  your name, you would still have to trust *some* service with your
  credentials).

- One of the things I *really* wanted was to have the tool mirror the
  replies on the mailing list back to the PR. Since submitGit does not
  *really* integrate with the GitHub interface (it might read some
  information, but it won't interact with the user there, opting instead
  on its own web interface), that was not something I could see submitGit
  to learn.

- Since submitGit does not write any state, there was no way to persist
  previous iterations in the form of the tags that GitGitGadget publishes.

- Finally, I never hid my concern about the choice of language (Scala
  might be a nice language to learn, even for me, some day, but trying
  to force people like me to learn a language that they did not plan on
  learning is probably a bad idea). I probably was too vocal about this,
  at times. And I still feel very strongly about this. Choosing a language
  that many developers of the target audience do *not* speak already is
  (in my mind) putting an unnecessary hurdle in front of contributors.

Regarding Scala: Granted, with Typescript rather than Javascript, I chose
another not-quite-mainstream language. But Scale is not even mentioned in
https://www.benfrederickson.com/ranking-programming-languages-by-github-users/
while Typescript is definitely an "up-and-coming language".

Also, I always wanted to learn how to write web applications, and this was
a perfect excuse to do so.

Nevermind that I had to convert this to a serverless part (an Azure
Function) with a user-visible backend (an Azure Pipeline that updates the
PR Check on GitHub and makes it easy to review the log, just in case
anything failed during the mail sending process). Due to the environment
(see below) this conversion was relatively painless, and you have *no*
idea how pleased I am that *nobody* realized that GitGitGadget underwent
such a rather dramatic architecture change. I essentially replaced the
engine of a Nascar machine with a differently-sized one, while the race
was still on.

In addition, I wanted to know what all this Typescript hype was all about,
and I was surprised just how many bugs were caught in my original
mail-patch-series.sh [*1*] that I converted to Javascript and then to
Typescript, by the mere fact of converting to Typescript. I also have to
admit that it felt quite pleasant to be able to use object-oriented
scripting, with an infrastructure of dependencies at your fingertips
(npm), and almost pain-free, portable, fast, intuitive unit testing
(jest).

So I am thankful for submitGit, and at the same time I still feel that it
was necessary to pit GitGitGadget against it. Almost as if (from my
perspective) the purpose of submitGit was to prod me into starting
GitGitGadget, to show what is possible.

Ciao,
Dscho

Footnote *1*: I originally used a shell script called
`mail-patch-series.sh` to submit my patch series, and later even published
it at https://github.com/dscho/mail-patch-series in the hopes that it
would benefit others (and that I'd get PRs to improve it). I learned,
however, that nobody wants to use anybody else's shell script to submit
their patch series, just like I found e.g. Lars Schneider's automatic
reviewer Cc:ing too broad, others did not like my choices like storing the
cover letter in the branch description (which is by definition not
pushable).

  parent reply	other threads:[~2019-03-13 20:51 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 21:32 [RFC/PATCH] point pull requesters to Git Git Gadget Jeff King
2019-03-12 23:08 ` Roberto Tyley
2019-03-13 19:34   ` Jeff King
2019-03-13 20:50   ` Johannes Schindelin [this message]
2019-03-13  1:49 ` Junio C Hamano
2019-03-13 19:39   ` Jeff King
2019-03-13 20:18     ` Jeff King
2019-03-14 11:31       ` Johannes Schindelin
2019-03-15  3:19         ` Jeff King
2019-03-15 13:42           ` Johannes Schindelin
2019-03-15 18:43             ` Jeff King
2019-03-18  2:52       ` Junio C Hamano
2019-03-18 21:12         ` Jeff King
2019-03-18 21:48           ` Thomas Gummerer
2019-03-18 21:52             ` Jeff King
2019-03-19  0:30               ` Junio C Hamano
2019-03-18 22:25           ` Ævar Arnfjörð Bjarmason
2019-03-13 21:05     ` Johannes Schindelin
2019-03-13 22:17     ` Junio C Hamano
2019-03-13  2:07 ` Junio C Hamano
2019-03-13  2:18   ` Junio C Hamano
2019-03-13 19:39     ` Jeff King
2019-03-14 12:04 ` GitGitGadget on github.com/git/git?, was " Johannes Schindelin
2019-03-14 14:46   ` Duy Nguyen
2019-03-15  3:30   ` Jeff King
2019-03-15 14:51     ` Johannes Schindelin
2019-03-15 16:28       ` Ævar Arnfjörð Bjarmason
2019-03-15 18:41         ` Jeff King

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=nycvar.QRO.7.76.6.1903132119160.41@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=roberto.tyley@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.
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).