* Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] @ 2016-08-16 16:55 Stefan Beller 2016-08-16 17:10 ` Junio C Hamano 2016-08-18 12:42 ` Johannes Schindelin 0 siblings, 2 replies; 64+ messages in thread From: Stefan Beller @ 2016-08-16 16:55 UTC (permalink / raw) To: meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong > BTW in light of the discussion we are having elsewhere I just need to > point out that it was *dramatically* faster for me to edit run-command.c, > find "hooks/" and adjust the code manually than it would have been to save > the diff and apply it. > > That's because I do not have advanced tooling on top of email (and I also > could not handle mutt, so I am stuck with a not-really-scriptable email > client). > > Just sayin'. I ran into the same problem, just for a larger patch, so I figured I can download that from the public inbox and git-am it locally. So I maneuvered to the cover letter of the patch series I am interested in[1] and downloaded the series as a mbox.gz[2]. However git-am choked on the cover-letter with: > Patch is empty. Was it split wrong? > When you have resolved this problem, run "git am --continue". > If you prefer to skip this patch, run "git am --skip" instead. > To restore the original branch and stop patching, run "git am --abort". The way forward from here was to `git am --skip` the first mail (the cover letter) and the rest got applied cleanly. So as a discussion starter: * Should git am skip a patch 00/XX automatically ? It is obviously a cover letter, which may be text only or has an intra diff to a prior version. Neither is what we want for now. Although there is this other discussion of storing the cover letter, so maybe an empty patch that is numbered 0 is fine to skip for now? Once the discussion settles whether we want to store it in branch.<name>.description or as an empty commit at the end or at the beginning * Should the public-inbox offer another link to patches 1-n, without the cover letter? Or should it add instructions: If this is a patch series you can apply it locally as: curl <link> >tmpXXX git am tmpXXX && git am --skip && git am --continue I tend to favor the first option of Git learning how to process the cover letter more easily. Thanks, Stefan [1] https://public-inbox.org/git/20160815230702.30817-1-jacob.e.keller@intel.com/ [2] https://public-inbox.org/git/20160815230702.30817-1-jacob.e.keller@intel.com/t.mbox.gz as found in > Thread overview: 4+ messages in thread (expand / mbox.gz / Atom feed / [top]) > 2016-08-15 23:06 Jacob Keller [this message] > 2016-08-15 23:07 ` [PATCH v6 1/3] diff.c: remove output_prefix_length field Jacob Keller > 2016-08-15 23:07 ` [PATCH v6 2/3] graph: add support for --line-prefix on all graph-aware output Jacob Keller > 2016-08-15 23:07 ` [PATCH v6 3/3] diff: add SUBMODULE_DIFF format to display submodule diff Jacob Keller ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 16:55 Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Stefan Beller @ 2016-08-16 17:10 ` Junio C Hamano 2016-08-16 17:20 ` Jeff King ` (2 more replies) 2016-08-18 12:42 ` Johannes Schindelin 1 sibling, 3 replies; 64+ messages in thread From: Junio C Hamano @ 2016-08-16 17:10 UTC (permalink / raw) To: Stefan Beller; +Cc: meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong Stefan Beller <sbeller@google.com> writes: > So as a discussion starter: > * Should git am skip a patch 00/XX automatically ? No. My preference is to add "--initial-skip=<N>", though. When I receive a patch series to reroll another series, I somehow know and verify that earlier N patches have not changed, I detach the HEAD at the last unchanged commit from the previous round and apply the remainder of the new series, so that I can preserve the author timestamps of earlier steps from the previous series. By the time I "know and verify" where the first step that was updated, I have a full series in a single mbox; having "--initial-skip=<N>" would help with that use case, too, and "skipping the first" is a narrow special case of giving N=1. > * Should the public-inbox offer another link to patches 1-n, without > the cover letter? Or should it add instructions: > > If this is a patch series you can apply it locally as: > curl <link> >tmpXXX > git am tmpXXX && git am --skip && git am --continue I do not think it is sensible for "cover-letter" specific instructions. However, I do not think it is unreasonable to either add another mbox.gz link or replace the behaviour of mbox.gz link so that you can grab a mbox that contains "this message and everything after it in the thread". That way, I could open the first message, see something like this I found in your message: >> Thread overview: 4+ messages in thread (expand / mbox.gz / Atom feed / [top]) >> 2016-08-15 23:06 Jacob Keller [this message] >> 2016-08-15 23:07 ` [PATCH v6 1/3] diff.c: remove output_prefix_length field Jacob Keller >> 2016-08-15 23:07 ` [PATCH v6 2/3] graph: add support for --line-prefix on all graph-aware output Jacob Keller >> 2016-08-15 23:07 ` [PATCH v6 3/3] diff: add SUBMODULE_DIFF format to display submodule diff Jacob Keller and then go to 1/3 and click that "this and everything that follows". ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 17:10 ` Junio C Hamano @ 2016-08-16 17:20 ` Jeff King 2016-08-16 17:54 ` Junio C Hamano 2016-08-16 17:22 ` Stefan Beller 2016-08-16 20:44 ` Eric Wong 2 siblings, 1 reply; 64+ messages in thread From: Jeff King @ 2016-08-16 17:20 UTC (permalink / raw) To: Junio C Hamano Cc: Stefan Beller, meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong On Tue, Aug 16, 2016 at 10:10:42AM -0700, Junio C Hamano wrote: > Stefan Beller <sbeller@google.com> writes: > > > So as a discussion starter: > > * Should git am skip a patch 00/XX automatically ? > > No. My preference is to add "--initial-skip=<N>", though. > > When I receive a patch series to reroll another series, I somehow > know and verify that earlier N patches have not changed, I detach > the HEAD at the last unchanged commit from the previous round and > apply the remainder of the new series, so that I can preserve the > author timestamps of earlier steps from the previous series. By > the time I "know and verify" where the first step that was updated, > I have a full series in a single mbox; having "--initial-skip=<N>" > would help with that use case, too, and "skipping the first" is a > narrow special case of giving N=1. For my workflow, it is not about "initial skip", but rather just "skip emails that don't have patches in them at all". My MUA makes it easy to tag a whole thread (or subthread), cover letter and discussion included, and then dump it all to git-am. And I think that would be the same for a public-inbox workflow (if it learns to grab sub-threads; otherwise you end up with earlier iterations of the series attached to the same thread). That is solving a different problem than you, though, where you want to skip actual patches because you know they are unchanged. -Peff ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 17:20 ` Jeff King @ 2016-08-16 17:54 ` Junio C Hamano 0 siblings, 0 replies; 64+ messages in thread From: Junio C Hamano @ 2016-08-16 17:54 UTC (permalink / raw) To: Jeff King Cc: Stefan Beller, meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong Jeff King <peff@peff.net> writes: > For my workflow, it is not about "initial skip", but rather just "skip > emails that don't have patches in them at all". OK. That is different from "the subject line says 0/N so let's skip". If we can safely determine that there is no patch in a message, skipping it may feel sensible. Historically, we try to err on the safe side by stopping when we do not understand an input and that is where "Patch is empty" message came from, because skipping and continuing, even with a warning, while applying tons of patches is not good enough to get user's attention. An "ignore empty input" option (and eventually with a configuration) may not be a bad idea. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 17:10 ` Junio C Hamano 2016-08-16 17:20 ` Jeff King @ 2016-08-16 17:22 ` Stefan Beller 2016-08-16 17:47 ` Junio C Hamano 2016-08-16 20:44 ` Eric Wong 2 siblings, 1 reply; 64+ messages in thread From: Stefan Beller @ 2016-08-16 17:22 UTC (permalink / raw) To: Junio C Hamano; +Cc: meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong On Tue, Aug 16, 2016 at 10:10 AM, Junio C Hamano <gitster@pobox.com> wrote: > Stefan Beller <sbeller@google.com> writes: > >> So as a discussion starter: >> * Should git am skip a patch 00/XX automatically ? > > No. My preference is to add "--initial-skip=<N>", though. > > When I receive a patch series to reroll another series, I somehow > know and verify that earlier N patches have not changed, I detach > the HEAD at the last unchanged commit from the previous round and > apply the remainder of the new series, so that I can preserve the > author timestamps of earlier steps from the previous series. By > the time I "know and verify" where the first step that was updated, > I have a full series in a single mbox; having "--initial-skip=<N>" > would help with that use case, too, and "skipping the first" is a > narrow special case of giving N=1. In your work flow, how do you respect the cover letter? e.g. in 3787e3c16ced: Merge branch 'ew/http-backend-batch-headers' The http-backend (the server-side component of smart-http transport) used to trickle the HTTP header one at a time. Now these write(2)s are batched. * ew/http-backend-batch-headers: http-backend: buffer headers before sending Is the text from the original author (and if so from which version of the cover letter) or is it your work? > >> * Should the public-inbox offer another link to patches 1-n, without >> the cover letter? Or should it add instructions: >> >> If this is a patch series you can apply it locally as: >> curl <link> >tmpXXX >> git am tmpXXX && git am --skip && git am --continue > > I do not think it is sensible for "cover-letter" specific > instructions. However, I do not think it is unreasonable to either > add another mbox.gz link or replace the behaviour of mbox.gz link so > that you can grab a mbox that contains "this message and everything > after it in the thread". That way, I could open the first message, > see something like this I found in your message: > >>> Thread overview: 4+ messages in thread (expand / mbox.gz / Atom feed / [top]) >>> 2016-08-15 23:06 Jacob Keller [this message] >>> 2016-08-15 23:07 ` [PATCH v6 1/3] diff.c: remove output_prefix_length field Jacob Keller >>> 2016-08-15 23:07 ` [PATCH v6 2/3] graph: add support for --line-prefix on all graph-aware output Jacob Keller >>> 2016-08-15 23:07 ` [PATCH v6 3/3] diff: add SUBMODULE_DIFF format to display submodule diff Jacob Keller > > and then go to 1/3 and click that "this and everything that > follows". Both thoughts are sensible; However the --initial-skip=<n> doesn't address the special case of storing the cover letter (which we eventually want to do?) I thought of it as the following with room for improvement: diff --git a/builtin/am.c b/builtin/am.c (shite space broken): index 739b34d..5f08b61 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1246,6 +1246,7 @@ static int parse_mail(struct am_state *state, const char *mail) FILE *fp; struct strbuf sb = STRBUF_INIT; struct strbuf msg = STRBUF_INIT; + struct strbuf subject = STRBUF_INIT; struct strbuf author_name = STRBUF_INIT; struct strbuf author_date = STRBUF_INIT; struct strbuf author_email = STRBUF_INIT; @@ -1309,6 +1310,7 @@ static int parse_mail(struct am_state *state, const char *mail) if (msg.len) strbuf_addch(&msg, '\n'); strbuf_addstr(&msg, x); + strbuf_addstr(&subject, x); } else if (skip_prefix(sb.buf, "Author: ", &x)) strbuf_addstr(&author_name, x); else if (skip_prefix(sb.buf, "Email: ", &x)) @@ -1325,8 +1327,17 @@ static int parse_mail(struct am_state *state, const char *mail) } if (is_empty_file(am_path(state, "patch"))) { - printf_ln(_("Patch is empty. Was it split wrong?")); - die_user_resolve(state); + if (indicates_coverletter(&subject)) + /* + * TODO: store the cover letter as the first or last + * commit or as branch.<name>.description + */ + ret = 1; + goto finish; + else { + printf_ln(_("Patch is empty. Was it split wrong?")); + die_user_resolve(state); + } } strbuf_addstr(&msg, "\n\n"); ^ permalink raw reply related [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 17:22 ` Stefan Beller @ 2016-08-16 17:47 ` Junio C Hamano 0 siblings, 0 replies; 64+ messages in thread From: Junio C Hamano @ 2016-08-16 17:47 UTC (permalink / raw) To: Stefan Beller; +Cc: meta, git@vger.kernel.org, Johannes Schindelin, Eric Wong Stefan Beller <sbeller@google.com> writes: > In your work flow, how do you respect the cover letter? > e.g. in 3787e3c16ced: > > Merge branch 'ew/http-backend-batch-headers' > > The http-backend (the server-side component of smart-http > transport) used to trickle the HTTP header one at a time. Now > these write(2)s are batched. > > * ew/http-backend-batch-headers: > http-backend: buffer headers before sending > > Is the text from the original author (and if so from which version > of the cover letter) or is it your work? The source of truth in the merge log message is the "What's cooking" report. I really prefer to write these in my own words, as that is a good yardstick to measure how much/little I understand the topic. If I cannot describe it concisely, in a way suitable as an entry in the release notes, that means I am merging a topic I do not have a good idea about, which is quite irresponsive. Forcing me to write these myself keeps me honest. Of course, if a cover letter describes the topic well, it would help me write the entry in the "What's cooking" report. It is a bit tricky to aim for the automation, though. The cover is an overview of the proposed log messages and typically tells a story "I do this, and then this, and finally that", plus a reroll-specific commentary like "what changed since the last round". On the other hand, the entries in the release notes gives a description of what happened from a third-party's point of view. They are told in different voice for different target audience. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 17:10 ` Junio C Hamano 2016-08-16 17:20 ` Jeff King 2016-08-16 17:22 ` Stefan Beller @ 2016-08-16 20:44 ` Eric Wong 2016-08-16 20:56 ` Eric Wong 2 siblings, 1 reply; 64+ messages in thread From: Eric Wong @ 2016-08-16 20:44 UTC (permalink / raw) To: Junio C Hamano, Stefan Beller; +Cc: meta, git, Johannes Schindelin Junio C Hamano <gitster@pobox.com> wrote: > Stefan Beller <sbeller@google.com> writes: > > * Should the public-inbox offer another link to patches 1-n, without > > the cover letter? Or should it add instructions: > > > > If this is a patch series you can apply it locally as: > > curl <link> >tmpXXX > > git am tmpXXX && git am --skip && git am --continue Currently for web users, I suggest: curl $URL >tmpXXX # open tmpXXXX and tag+copy to patchesXXX using MUA of choice: # (also seems to be what Jeff describes): mutt -f tmpXXX git am patchesXXXX > I do not think it is sensible for "cover-letter" specific > instructions. However, I do not think it is unreasonable to either > add another mbox.gz link or replace the behaviour of mbox.gz link so > that you can grab a mbox that contains "this message and everything > after it in the thread". That way, I could open the first message, > see something like this I found in your message: > > >> Thread overview: 4+ messages in thread (expand / mbox.gz / Atom feed / [top]) > >> 2016-08-15 23:06 Jacob Keller [this message] > >> 2016-08-15 23:07 ` [PATCH v6 1/3] diff.c: remove output_prefix_length field Jacob Keller > >> 2016-08-15 23:07 ` [PATCH v6 2/3] graph: add support for --line-prefix on all graph-aware output Jacob Keller > >> 2016-08-15 23:07 ` [PATCH v6 3/3] diff: add SUBMODULE_DIFF format to display submodule diff Jacob Keller > > and then go to 1/3 and click that "this and everything that > follows". Adding more links might still fall down in cases where fixup/squash patches are sent for specific patches in a series; or when a v{N+1} series is posted in-reply-to an existing series. Perhaps adding checkbox next to each item might work as a select-to-include-in-mbox download form. However, I'm already finding the lack of horizontal space disconcerting. Maybe the YYYY-MM-DD could be shortened to YYYYMMDD. It would be closer to the date searching syntax used by mairix, as well as the search enhancement I started working on earlier today: https://public-inbox.org/meta/20160816084926.29394-1-e@80x24.org/T/ (still will deploy soonish) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 20:44 ` Eric Wong @ 2016-08-16 20:56 ` Eric Wong 0 siblings, 0 replies; 64+ messages in thread From: Eric Wong @ 2016-08-16 20:56 UTC (permalink / raw) To: Junio C Hamano, Stefan Beller; +Cc: meta, git, Johannes Schindelin Eric Wong <e@80x24.org> wrote: > Currently for web users, I suggest: > > curl $URL >tmpXXX > > # open tmpXXXX and tag+copy to patchesXXX using MUA of choice: > # (also seems to be what Jeff describes): > mutt -f tmpXXX > > git am patchesXXXX I should add this is also a better match to an "offline first" workflow for disconnected use. My Internet connections drop all the time :< I don't mind people over-downloading at all, and stuffing an extra cover + comments is likely more efficient with gzip than going back online to fetch separately. > Perhaps adding checkbox next to each item might work as a > select-to-include-in-mbox download form. ...So I'm not sure if I want to invest time into this idea since either the server or user could be offline by the time messages are selected. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-16 16:55 Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Stefan Beller 2016-08-16 17:10 ` Junio C Hamano @ 2016-08-18 12:42 ` Johannes Schindelin 2016-08-18 20:49 ` Eric Wong 2016-08-19 15:03 ` Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Jeff King 1 sibling, 2 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-18 12:42 UTC (permalink / raw) To: Stefan Beller; +Cc: meta, git@vger.kernel.org, Eric Wong Hi Stefan, On Tue, 16 Aug 2016, Stefan Beller wrote: > > BTW in light of the discussion we are having elsewhere I just need to > > point out that it was *dramatically* faster for me to edit run-command.c, > > find "hooks/" and adjust the code manually than it would have been to save > > the diff and apply it. > > > > That's because I do not have advanced tooling on top of email (and I also > > could not handle mutt, so I am stuck with a not-really-scriptable email > > client). > > > > Just sayin'. > > I ran into the same problem, just for a larger patch, so I figured I can > download that from the public inbox and git-am it locally. > So I maneuvered to the cover letter of the patch series I am interested in[1] > and downloaded the series as a mbox.gz[2]. Maybe you can adapt the script I had written to perform that magic for gmane? https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh The relevant part is the one between the lines 48--72, where it detects 0/N mails and then looks for the first children containing k/N for k=1..N. BTW I take this thread as yet another proof that people are unhappy with mail list-based review: if you have to build *that much* tooling around it (and Peff & Junio certainly have a megaton of advanced and sophisticated tooling around it, holy cow!) it is really incorrect to state that the mail list-driven approach works for you. It is much closer to the truth to say that the mail-list-plus-loads-of-custom-tools-driven approach works for you. I am really not a fan of this. The theory "it's inclusive because everyone has access to mail" falls on its face, badly, when even old timers have to build entire infrastructures around it just to begin to be able to use it efficiently. It reminds me of an old software developer I met long ago, who claimed CVS works for him. He had written tens of thousands of lines of shell scripts, is what allowed "CVS" to work for him. Same here. Old dogs claim the mail list-approach works for them. Nope. Doesn't. Else you would not have written all those custom scripts. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-18 12:42 ` Johannes Schindelin @ 2016-08-18 20:49 ` Eric Wong 2016-08-18 21:41 ` Junio C Hamano 2016-08-19 15:30 ` Johannes Schindelin 2016-08-19 15:03 ` Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Jeff King 1 sibling, 2 replies; 64+ messages in thread From: Eric Wong @ 2016-08-18 20:49 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Stefan Beller, meta, git Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > BTW I take this thread as yet another proof that people are unhappy with > mail list-based review: if you have to build *that much* tooling around it > (and Peff & Junio certainly have a megaton of advanced and sophisticated > tooling around it, holy cow!) it is really incorrect to state that the > mail list-driven approach works for you. It is much closer to the truth to > say that the mail-list-plus-loads-of-custom-tools-driven approach works > for you. > > I am really not a fan of this. > > The theory "it's inclusive because everyone has access to mail" falls on > its face, badly, when even old timers have to build entire infrastructures > around it just to begin to be able to use it efficiently. > > It reminds me of an old software developer I met long ago, who claimed CVS > works for him. He had written tens of thousands of lines of shell scripts, > is what allowed "CVS" to work for him. > > Same here. Old dogs claim the mail list-approach works for them. Nope. > Doesn't. Else you would not have written all those custom scripts. git and cogito started as a bunch of custom scripts, too. IMHO, it's what makes Free Software (and *nix) great: users have control to customize and improve things. With scripts, they don't even need to learn a build process to do so. I see a choice of mail client as no different than a choice of text editor. Neither my mail client or text editor is heavily customized. The key feature I rely on from both tools is piping data to external commands. OTOH, today, I see people using git aliases all the time which look more like ASM instructions than user commands. Is the widespread use of these aliases a deficiency to git? Maybe, I don't know. Normally, I do not care about aliases: it's a private thing; but it also makes it incredibly difficult for me to help users when they're exposed in public. Users ought to be able to pick, choose, and replace tools as they wish as long as an interchange format remains stable and widely-supported. Fwiw, I still use patch(1) pretty often, even on patches generated with git. I see nothing wrong with that; patch is lenient in ways git-apply was explicitly designed not to be. And I don't always use git send-email or my normal MUA for sending; or use git for generating diffs. I do: diff -u a b | mail -s WIP-blah-blah $SOMEONE While you and I are long-time git hackers, I don't think it's reasonable for everyone to use git or git-specific tools; even to git.git for one-offs like portability or doc fixes. Even today, at least one Linux kernel hacker still uses quilt to generate patches: http://ozlabs.org/~akpm/mmotm/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-18 20:49 ` Eric Wong @ 2016-08-18 21:41 ` Junio C Hamano 2016-08-19 15:18 ` Johannes Schindelin 2016-08-19 15:30 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Junio C Hamano @ 2016-08-18 21:41 UTC (permalink / raw) To: Eric Wong; +Cc: Johannes Schindelin, Stefan Beller, meta, git Eric Wong <e@80x24.org> writes: > I see a choice of mail client as no different than a choice of > text editor. Neither my mail client or text editor is heavily > customized. The key feature I rely on from both tools is piping > data to external commands. FWIW, that applies to me exactly, too. > unsubscribe: meta+unsubscribe@public-inbox.org Did you mean this, really? > archive: https://public-inbox.org/meta/ This I understand, though. Ahh, that's coming from meta@public-inbox.org? ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-18 21:41 ` Junio C Hamano @ 2016-08-19 15:18 ` Johannes Schindelin 0 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-19 15:18 UTC (permalink / raw) To: Junio C Hamano; +Cc: Eric Wong, Stefan Beller, meta, git Hi, On Thu, 18 Aug 2016, Junio C Hamano wrote: > Eric Wong <e@80x24.org> writes: > > > unsubscribe: meta+unsubscribe@public-inbox.org > > Did you mean this, really? FWIW I do not see this line in my original mail from Eric. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-18 20:49 ` Eric Wong 2016-08-18 21:41 ` Junio C Hamano @ 2016-08-19 15:30 ` Johannes Schindelin 2016-08-19 16:55 ` Stefan Beller 2016-08-19 22:35 ` Eric Wong 1 sibling, 2 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-19 15:30 UTC (permalink / raw) To: Eric Wong; +Cc: Stefan Beller, meta, git Hi Eric, On Thu, 18 Aug 2016, Eric Wong wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > Old dogs claim the mail list-approach works for them. Nope. Doesn't. > > Else you would not have written all those custom scripts. > > git and cogito started as a bunch of custom scripts, too. The difference is that neither git nor cogito were opinionated. Those custom scripts are. They are for one particular workflow, with one particular mail client, with a strong bias to a Unix-y environment. I work really hard to make Git for Windows as easy and fun to use as possible. I just wish that we were working together to make it as easy and fun to contribute to Git, too. > I see a choice of mail client as no different than a choice of > text editor. Neither my mail client or text editor is heavily > customized. The key feature I rely on from both tools is piping > data to external commands. There you go. That key feature seems to be unavailable in the most wide-spread email client: Outlook. So by not restricting the choice you should make it possible to use that mail client, too, right? We do not even have a section on Outlook in our SubmittingPatches. Okay, if not the most popular mail client, then web mail? Nope, nope, nope. No piping *at all* to external commands from there. So you basically slam the door shut on the vast majority of email users. That is not leaving much choice to the users in my book. > OTOH, today, I see people using git aliases all the time which > look more like ASM instructions than user commands. I see this as a completely different beast. Aliases help users accelerate their personal workflow. Whereas anybody who is already willing to contribute to Git *must* go through that non-personal workflow we impose: paste the diff in a very specific format into the mail, and don't you dare use a mail client that mangles whitespace (which is, like, pretty much every single popular mail client out there). So *allowing* users to configure their own aliases, and *forcing* them to figure out how to transport patches through a medium hostile to patches, is pretty much two diametrically opposed things. > Users ought to be able to pick, choose, and replace tools as > they wish as long as an interchange format remains stable > and widely-supported. Right. Let's talk about the interchange format called mails, for the data called patches. Is it stable and widely-supported? Can users really pick and choose the tools they like most to send patches to the Git project? Like, the Outlook client? Or the GMail client? > Even today, at least one Linux kernel hacker still uses quilt to > generate patches: http://ozlabs.org/~akpm/mmotm/ Andrew does not count, he lives in his own universe. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 15:30 ` Johannes Schindelin @ 2016-08-19 16:55 ` Stefan Beller 2016-08-19 22:35 ` Eric Wong ` (2 more replies) 2016-08-19 22:35 ` Eric Wong 1 sibling, 3 replies; 64+ messages in thread From: Stefan Beller @ 2016-08-19 16:55 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Eric Wong, meta, git@vger.kernel.org It was not my intend to start this discussion again with my initial email. I rather wanted to point out how I make progress in doing my own tooling. I mean if email works well for Junio (both as a maintainer as well as a contributor) and Jeff as a contributor, then I can adapt my workflow to that, because these two have brought in 8300 of 33000 non merge patches. (i.e. they had 25% of the patches over the life time of the project and are with the project longer than others IIUC). So why would I demand they change their style just to accommodate one newcomer like me? > >> I see a choice of mail client as no different than a choice of >> text editor. Neither my mail client or text editor is heavily >> customized. The key feature I rely on from both tools is piping >> data to external commands. > > There you go. That key feature seems to be unavailable in the most > wide-spread email client: Outlook. So by not restricting the choice you > should make it possible to use that mail client, too, right? Well I think this data piping is essential to any workflow. Even if were to abandon email completely and roll our own communications protocol, one of the first things added would be an API to "use your own text editor". In my case git-send-email works well for the sending direction without a lot of custom tooling (read: none apart from the initial configuration). > > We do not even have a section on Outlook in our SubmittingPatches. "You can write one? Pretty please?" would be the canonical answer. ;) > > Okay, if not the most popular mail client, then web mail? Nope, nope, > nope. No piping *at all* to external commands from there. > > So you basically slam the door shut on the vast majority of email users. > > That is not leaving much choice to the users in my book. > >> OTOH, today, I see people using git aliases all the time which >> look more like ASM instructions than user commands. > > I see this as a completely different beast. Aliases help users accelerate > their personal workflow. Whereas anybody who is already willing to > contribute to Git *must* go through that non-personal workflow we impose: > paste the diff in a very specific format into the mail, and don't you dare > use a mail client that mangles whitespace (which is, like, pretty much > every single popular mail client out there). Maybe we should invent a patch format that copes with broken whitespace? (git-format-patch --allow-broken-whitespace), e.g. replace a tab by "-_______" (not exactly 8 chars, but stopping at the columns 8, 16, 24 etc) git am/apply would need to know about the unbreaking the white space, too. > > So *allowing* users to configure their own aliases, and *forcing* them to > figure out how to transport patches through a medium hostile to patches, > is pretty much two diametrically opposed things. I think the point was that people carelessly expose their aliases in e.g. their blogs. (e.g. "to do <foo> you just need to git a <file> &&git ci && git rr", which leaves others just guessing? It certainly feels similar to not knowing how to configure your email client?) > >> Users ought to be able to pick, choose, and replace tools as >> they wish as long as an interchange format remains stable >> and widely-supported. > > Right. Let's talk about the interchange format called mails, for the data > called patches. Is it stable and widely-supported? It is stable as it has been around for years and you can choose whether you use git apply or the patch utility. It is widely supported as it is raw text so it can be used across different platforms. However it doesn't cope well with email, as email modifies text sometimes such as mangling white spaces. > > Can users really pick and choose the tools they like most to send patches > to the Git project? Like, the Outlook client? Or the GMail client? Of course, see[1] ;) [1] https://public-inbox.org/git/CA+55aFy2AEe7ew5Px=2Uit6hraGV9zFr=JZ57rSYXWMQ4nMjeg@mail.gmail.com/ Thanks, Stefan ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 16:55 ` Stefan Beller @ 2016-08-19 22:35 ` Eric Wong 2016-08-22 13:38 ` Johannes Schindelin 2016-08-22 19:21 ` Jeff King 2 siblings, 0 replies; 64+ messages in thread From: Eric Wong @ 2016-08-19 22:35 UTC (permalink / raw) To: Stefan Beller; +Cc: Johannes Schindelin, meta, git@vger.kernel.org Stefan Beller <sbeller@google.com> wrote: > Maybe we should invent a patch format that copes with broken whitespace? No redundant new formats, please. MIME attachments are already widely-supported and fine by me. But it's not my call for git. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 16:55 ` Stefan Beller 2016-08-19 22:35 ` Eric Wong @ 2016-08-22 13:38 ` Johannes Schindelin 2016-08-22 19:21 ` Jeff King 2 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-22 13:38 UTC (permalink / raw) To: Stefan Beller; +Cc: Eric Wong, meta, git@vger.kernel.org Hi Stefan, On Fri, 19 Aug 2016, Stefan Beller wrote: > >> I see a choice of mail client as no different than a choice of text > >> editor. Neither my mail client or text editor is heavily customized. > >> The key feature I rely on from both tools is piping data to external > >> commands. > > > > There you go. That key feature seems to be unavailable in the most > > wide-spread email client: Outlook. So by not restricting the choice > > you should make it possible to use that mail client, too, right? > > Well I think this data piping is essential to any workflow. Data piping can go through Git, with convenient commands. > Even if were to abandon email completely and roll our own communications > protocol, one of the first things added would be an API to "use your own > text editor". > > In my case git-send-email works well for the sending direction without a > lot of custom tooling (read: none apart from the initial configuration). Sending those mails is but the tiny, first step of contributing patches. You know as well as I do that many a times contributors have to work through many iterations to get their work accepted. So while send-email helps with one direction, everything after that is hard, manual work. > > We do not even have a section on Outlook in our SubmittingPatches. > > "You can write one? Pretty please?" would be the canonical answer. ;) Sure. And my answer to that is: I cannot write it. Why? Because I cannot get it the heck to work. Because Outlook supports writing mails, i.e. messages from humans for humans. You can change the font, insert a nice photo from your vacations, left-justify, right-justify, center the text. You can do all kinds of nice things that you need to do when talking to humans. You can even paste a diff, for a human to read. Humans are very good at not even seeing that there is no space at the beginning of the line. Humans are also very good at understanding that those 8 spaces are the same as the tab in the source code. Outlook can also keep excellent track of who was Cc:ed, of mail threads, filtering mails based on a plethora of criteria, integrating with a calendar, etc. So Outlook does really an excellent job. What it does *not* to well is something mail was not designed for. > Maybe we should invent a patch format that copes with broken whitespace? Or maybe we do not even have to go that far, but maybe we can teach `git apply` a mode where it is much smarter about whitespace changes and wrapped text in the patch it receives? That would probably go a long way further to making the patch submission process we use more friendly to human beings. It still would not make it easy to go from replies containing suggestions how to improve the code to the corresponding file/revision. > >> Users ought to be able to pick, choose, and replace tools as they > >> wish as long as an interchange format remains stable and > >> widely-supported. > > > > Right. Let's talk about the interchange format called mails, for the > > data called patches. Is it stable and widely-supported? > > It is stable as it has been around for years and you can choose whether > you use git apply or the patch utility. You seem to assume that mail clients have an easy time with this supposed "stable" format. They don't. > It is widely supported as it is raw text so it can be used across > different platforms. However it doesn't cope well with email, as email > modifies text sometimes such as mangling white spaces. I "mangle" whitespace all the time when I respond to mails. You will note that I re-wrap quoted text to 76 columns/row. So I am as guilty as any mail client of your charge. Sorry. > > Can users really pick and choose the tools they like most to send patches > > to the Git project? Like, the Outlook client? Or the GMail client? > > Of course, see[1] ;) > [1] https://public-inbox.org/git/CA+55aFy2AEe7ew5Px=2Uit6hraGV9zFr=JZ57rSYXWMQ4nMjeg@mail.gmail.com/ You speak in riddles. That link leads to Linus' mail talking about committerdates and generation numbers. It does not help me, not in the slightest, to send a patch via Outlook or the web interface of GoogleMail without risking to get yelled at for corrupting the patch. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 16:55 ` Stefan Beller 2016-08-19 22:35 ` Eric Wong 2016-08-22 13:38 ` Johannes Schindelin @ 2016-08-22 19:21 ` Jeff King 2 siblings, 0 replies; 64+ messages in thread From: Jeff King @ 2016-08-22 19:21 UTC (permalink / raw) To: Stefan Beller; +Cc: Johannes Schindelin, Eric Wong, meta, git@vger.kernel.org On Fri, Aug 19, 2016 at 09:55:54AM -0700, Stefan Beller wrote: > It was not my intend to start this discussion again with my initial email. > I rather wanted to point out how I make progress in doing my own > tooling. > > I mean if email works well for Junio (both as a maintainer as > well as a contributor) and Jeff as a contributor, then I can adapt > my workflow to that, because these two have brought in > 8300 of 33000 non merge patches. (i.e. they had 25% of the > patches over the life time of the project and are with the project > longer than others IIUC). So why would I demand they change > their style just to accommodate one newcomer like me? Even though I do really like the mail-based workflow, I think this is a dangerous line of reasoning. If the project were just me and Junio, working as efficiently as two people possibly can, then sure, asking us to change from what works for us would be silly. But it's not. We have to make sure that the project community thrives. That includes catering to some degree to occasional contributors, and doing things to attract new members to the community as old ones drift away. You'll notice that I hand-waved away "to some degree" there. There is definitely a balance to be found in managing the time of the maintainer and the reviewers, versus making things easier for new contributors. As a reductio ad absurdum, the simplest thing for contributors would be to make a vague bug report and have the maintainer produce a polished patch. That obviously does not scale. :) Likewise, it is not just a matter of time spent, but workflows impact _who_ will join[1]. Contributing to git is very friendly to a certain niche of Unix die-hards, and that impacts who bothers to do so, and consequently, what contributions we see (both to code and to discussion). There's value in diversity of opinions[2], and we should be wary of becoming an obsolete and out-of-touch mono-culture. So I say "dangerous" because that is one way that open source projects can die: the number of contributors dwindles, development slows, there are no new ideas in the community, etc. I don't think git would ever die off completely; there are too many users. But there have been projects that seem to ossify for many years, and are rejuvenated only when they shake up some elements of the community or workflow (e.g., mutt is recently seeing such a resurgence; sometimes it even takes the form of a follow-on project, like CVS->SVN, with new people). I don't think we're at that point with git. But it is something to be mindful of. It's not clear to me if mutt-loving luddites like myself are the last of a dying breed, or if there will always be enough of us to churn out contributions to projects like git. -Peff [1] I think Dscho feels this much more acutely on Git for Windows than we do on the regular git mailing list, because the "who" audience for GfW is much different than the Unix world. [2] I also think there's such as a thing as "too many opinions" in a project. If we started rewriting bits of git in Haskell (just to pick on a random pretty-far-from-C language), things would get very complex very quickly. So again, it's about finding a balance. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 15:30 ` Johannes Schindelin 2016-08-19 16:55 ` Stefan Beller @ 2016-08-19 22:35 ` Eric Wong 2016-08-22 13:18 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Eric Wong @ 2016-08-19 22:35 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Stefan Beller, meta, git Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > On Thu, 18 Aug 2016, Eric Wong wrote: > > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > > > Old dogs claim the mail list-approach works for them. Nope. Doesn't. > > > Else you would not have written all those custom scripts. > > > > git and cogito started as a bunch of custom scripts, too. > > The difference is that neither git nor cogito were opinionated. Those > custom scripts are. They are for one particular workflow, with one > particular mail client, with a strong bias to a Unix-y environment. > > I work really hard to make Git for Windows as easy and fun to use as > possible. I just wish that we were working together to make it as easy and > fun to contribute to Git, too. I guess this is a fundamental difference between *nix and Windows culture. I enjoy using and contributing to git because it interacts well with generic tools. *nix kernels are optimized for this with decent (not great)[*] process spawning and IPC performance. I know Windows users have major performance problems with shell scripts; but they are also largely helpless to improve Windows kernel performance. So, I guess monolithic tools became popular on Windows, instead. > > I see a choice of mail client as no different than a choice of > > text editor. Neither my mail client or text editor is heavily > > customized. The key feature I rely on from both tools is piping > > data to external commands. > > There you go. That key feature seems to be unavailable in the most > wide-spread email client: Outlook. So by not restricting the choice you > should make it possible to use that mail client, too, right? > > We do not even have a section on Outlook in our SubmittingPatches. > > Okay, if not the most popular mail client, then web mail? Nope, nope, > nope. No piping *at all* to external commands from there. > > So you basically slam the door shut on the vast majority of email users. Users have a choice to use a more scriptable mail client (but I guess the OS nudges users towards monolithic tools) It's unfortunate the world is so full of proprietary things; but I think it's our responsibility as Free Software developers to encourage the use of Free (or "Open Source") tools which users can control. > That is not leaving much choice to the users in my book. Users of alpine, gnus, mutt, sylpheed, thunderbird, kmail, roundcube, squirelmail, etc. can all download the source, hack, fix and customize things. It's easier with smaller software, of course: git-send-email does not even require learning the build process or separate download. <snip stuff Stefan already covered> > > Users ought to be able to pick, choose, and replace tools as > > they wish as long as an interchange format remains stable > > and widely-supported. > > Right. Let's talk about the interchange format called mails, for the data > called patches. Is it stable and widely-supported? > > Can users really pick and choose the tools they like most to send patches > to the Git project? Like, the Outlook client? Or the GMail client? Personally, I don't mind patches as MIME attachments if that avoids corruption, MIME seems well-supported at this point. It's not my call, though. But as Stephan pointed, Linus does it, too. [*] Guess what: I have performance problems with fork/execve on Linux, too. However, Linux developers already provide mechanisms to improve spawn performance (CLONE_VFORK and vfork(2)); so the next step is to get userspace like dash, make, perl, etc to support these. glibc 2.24 was just released with an improved posix_spawn for Linux (using CLONE_VFORK), so that's a step forward and might make sharing code with Windows easier, too. It's not a high priority for me at the moment, but I intend to get everything in my toolset which relies on fork+execve to use posix_spawn or vfork+execve instead. I have the source to all of these, so at least I can do something about it. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 22:35 ` Eric Wong @ 2016-08-22 13:18 ` Johannes Schindelin 2016-08-22 18:05 ` Jakub Narębski 2016-08-22 22:55 ` Eric Wong 0 siblings, 2 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-22 13:18 UTC (permalink / raw) To: Eric Wong; +Cc: Stefan Beller, meta, git Hi Eric, On Fri, 19 Aug 2016, Eric Wong wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > On Thu, 18 Aug 2016, Eric Wong wrote: > > > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > > > > > Old dogs claim the mail list-approach works for them. Nope. > > > > Doesn't. Else you would not have written all those custom > > > > scripts. > > > > > > git and cogito started as a bunch of custom scripts, too. > > > > The difference is that neither git nor cogito were opinionated. Those > > custom scripts are. They are for one particular workflow, with one > > particular mail client, with a strong bias to a Unix-y environment. > > > > I work really hard to make Git for Windows as easy and fun to use as > > possible. I just wish that we were working together to make it as easy > > and fun to contribute to Git, too. > > I guess this is a fundamental difference between *nix and Windows > culture. I do not understand how you get from "I wish to make it fun to contribute to Git" to "there is a fundamental difference between *nix and Windows culture". > I know Windows users have major performance problems with > shell scripts; That's because shell scripting is not native to Windows. I wish Linux had a Powershell, allowing for decent scripting that does not try to smoosh everything into a line-based text format. (Of course, since last week, Linux does have a Powershell.) Powershell is blazing fast, by the way, and not as ridiculously limited in its expressibility as shell scripting. But all of this is digressing from the original topic. I do not think this is a productive. > > We do not even have a section on Outlook in our SubmittingPatches. > > > > Okay, if not the most popular mail client, then web mail? Nope, nope, > > nope. No piping *at all* to external commands from there. > > > > So you basically slam the door shut on the vast majority of email users. > > Users have a choice to use a more scriptable mail client > (but I guess the OS nudges users towards monolithic tools) You call that choice. Are you serious? > > That is not leaving much choice to the users in my book. > > Users of alpine, gnus, mutt, sylpheed, thunderbird, kmail, > roundcube, squirelmail, etc. can all download the source, hack, > fix and customize things. It's easier with smaller software, > of course: git-send-email does not even require learning > the build process or separate download. Now I am getting upset. This is a BS argument. Sure, I can hack the source of these tools. But why on earth do I *have* to? Why can't we use or create an open contribution process *that works without having to work so hard to be able to contribute*? So unfortunately this thread has devolved. Which is sad. Because all I wanted is to have a change in Git's submission process that would not exclude *so many* developers. That is really all I care about. Not about tools. Not about open vs proprietary, or standards. I just want developers who are already familiar with Git, and come up with an improvement to Git itself, to be able to contribute it without having to pull out their hair in despair. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 13:18 ` Johannes Schindelin @ 2016-08-22 18:05 ` Jakub Narębski 2016-08-25 13:21 ` Johannes Schindelin 2016-08-22 22:55 ` Eric Wong 1 sibling, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-22 18:05 UTC (permalink / raw) To: Johannes Schindelin, Eric Wong; +Cc: Stefan Beller, meta, git W dniu 22.08.2016 o 15:18, Johannes Schindelin pisze: > So unfortunately this thread has devolved. Which is sad. Because all I > wanted is to have a change in Git's submission process that would not > exclude *so many* developers. That is really all I care about. Not about > tools. Not about open vs proprietary, or standards. > > I just want developers who are already familiar with Git, and come up with > an improvement to Git itself, to be able to contribute it without having > to pull out their hair in despair. What is lacking in using submitGit tool for those that have problems with sending patches via email? Submitting changes in Git comes in three phases: - submit email with patches - review and discuss patch - apply patches from email Pull request via GitHub / Bitbucket / GitLab is easier than sending patches via email (pity that GitHub et al. do not have such submitGit-like automation built-in). But I think email, with threaded view, careful trimming of quoted contents, multi-level quotes is superior to exiting web-based solutions. Regards, -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 18:05 ` Jakub Narębski @ 2016-08-25 13:21 ` Johannes Schindelin 2016-08-28 18:23 ` Jakub Narębski 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-25 13:21 UTC (permalink / raw) To: Jakub Narębski; +Cc: Eric Wong, Stefan Beller, meta, git [-- Attachment #1: Type: text/plain, Size: 3351 bytes --] Hi Kuba, On Mon, 22 Aug 2016, Jakub Narębski wrote: > W dniu 22.08.2016 o 15:18, Johannes Schindelin pisze: > > > So unfortunately this thread has devolved. Which is sad. Because all I > > wanted is to have a change in Git's submission process that would not > > exclude *so many* developers. That is really all I care about. Not about > > tools. Not about open vs proprietary, or standards. > > > > I just want developers who are already familiar with Git, and come up with > > an improvement to Git itself, to be able to contribute it without having > > to pull out their hair in despair. > > What is lacking in using submitGit tool for those that have problems > with sending patches via email? Where do I start? And where do I stop? Here is a *very* brief list of issues from the top of my head (and the history of my web browser): - You cannot open a PR on GitHub and include the PR's cover letter as cover letter: https://github.com/rtyley/submitgit/issues/9 - You cannot Cc: people explicitly: https://github.com/rtyley/submitgit/issues/31 - submitGit does not include any interdiff - it is really hard to get back from mails to the corresponding commits - you have to register with yet another service to send mails on your behalf. Would be nicer if the mails could be sent from a submitGit address (moderated, of course) and did not need a separate registration step with some scary permission granting. - submitGit requires you to go to a separate website to interact with the submitGit web app. Would be so much nicer if it were a bot operating on PRs. - comments sent as replies have no connection to the PR *nor* the commits they refer to (making submitGit basically a pimped up git-send-email, nothing more). - submitGit would require a substantial effort from me to learn how to extend/fix it, to run the web app locally and run its tests. That is a rather steep hurdle. This is an incomplete list, of course. > Submitting changes in Git comes in three phases: > - submit email with patches > - review and discuss patch > - apply patches from email You forgot a really crucial step. Maybe you did not go through dozens of iterations in your patch series as I regularly do, or something, so it is probably easy for you to forget: - find the commit in question, run rebase -i and patch it as suggested This is something that costs me quite some time to do. It is easily the most annoying aspect of the mail list-based approach for me. > Pull request via GitHub / Bitbucket / GitLab is easier than sending > patches via email (pity that GitHub et al. do not have such submitGit-like > automation built-in). But I think email, with threaded view, careful > trimming of quoted contents, multi-level quotes is superior to exiting > web-based solutions. They are not exiting, but I know what you meant. The thing is: GitHub does not need such an automation. Because most projects are pretty happy with the process centered around the web app. It is only projects such as Linux, Cygwin and Git itself who refuse to allow for tools that would let the majority of potential contributors stick with their favorite way to read and write mails (I am talking about users of GMail and Outlook, of course). Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-25 13:21 ` Johannes Schindelin @ 2016-08-28 18:23 ` Jakub Narębski 2016-08-29 10:46 ` Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-28 18:23 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Eric Wong, Stefan Beller, meta, git Hello Johannes, W dniu 25.08.2016 o 15:21, Johannes Schindelin pisze: > On Mon, 22 Aug 2016, Jakub Narębski wrote: >> W dniu 22.08.2016 o 15:18, Johannes Schindelin pisze: >> >>> So unfortunately this thread has devolved. Which is sad. Because all I >>> wanted is to have a change in Git's submission process that would not >>> exclude *so many* developers. That is really all I care about. Not about >>> tools. Not about open vs proprietary, or standards. >>> >>> I just want developers who are already familiar with Git, and come up with >>> an improvement to Git itself, to be able to contribute it without having >>> to pull out their hair in despair. >> >> What is lacking in using submitGit tool for those that have problems >> with sending patches via email? > > Where do I start? And where do I stop? Here is a *very* brief list of > issues from the top of my head (and the history of my web browser): Let me reorder those issues and group them into specific categories. > - You cannot open a PR on GitHub and include the PR's cover letter as > cover letter: https://github.com/rtyley/submitgit/issues/9 > > - you have to register with yet another service to send mails on your > behalf. Would be nicer if the mails could be sent from a submitGit > address (moderated, of course) and did not need a separate registration > step with some scary permission granting. > > - submitGit requires you to go to a separate website to interact with the > submitGit web app. Would be so much nicer if it were a bot operating on > PRs. Those are issues about lack of integration (or need for better integration) with GitHub pull requests. I don't know if tighter integration would be possible (without going the route of web browser plugin, like ZenHub) with current API. Note that many integrations require you to go and use their separate site, like e.g. HuBoard. Also, for some people registering on GitHub is "yet another service"... ;-) > - You cannot Cc: people explicitly: > https://github.com/rtyley/submitgit/issues/31 > > - submitGit does not include any interdiff These are, I think, mainly related to lack of support for series *iteration*, for sending new version of patch series / of pull request. I don't know how well GitHub pull requests deal with iteration and refinement, and what is available as API to apps such as submitGit. > > - it is really hard to get back from mails to the corresponding commits > > - comments sent as replies have no connection to the PR *nor* the commits > they refer to (making submitGit basically a pimped up git-send-email, > nothing more). I guess that turning submitGit into two-way bridge between email and PR's would be quite difficult, if at all possible. For one, it would have to parse emails to turn response as email into comment on diff in PR. For second, I'm not sure if all features of email workflow are possible to represent in PR's: cover letter, comments for individual commits, commits about commit messages, commits about changes, free-form comments. But maybe they are possible; the trouble would be in translating back and forth. > - submitGit would require a substantial effort from me to learn how to > extend/fix it, to run the web app locally and run its tests. That is a > rather steep hurdle. Well, you cannot extend/fix GitHub at all yourself, isn't it? ;-P > > This is an incomplete list, of course. Right. >> Submitting changes in Git comes in three phases: >> - submit email with patches >> - review and discuss patch >> - apply patches from email > > You forgot a really crucial step. Maybe you did not go through dozens of > iterations in your patch series as I regularly do, or something, so it is > probably easy for you to forget: > > - find the commit in question, run rebase -i and patch it as suggested > > This is something that costs me quite some time to do. It is easily the > most annoying aspect of the mail list-based approach for me. I probably don't have as many topics in flight, and maybe the number of iterations is smaller, but I don't remember having troubles with that. Well, when I was most active doung Git development I were using StGit patch management interface instead of rebase -i; I think it makes things easier. Perhaps git-series could replace it, or augment it. >> Pull request via GitHub / Bitbucket / GitLab is easier than sending >> patches via email (pity that GitHub et al. do not have such submitGit-like >> automation built-in). But I think email, with threaded view, careful >> trimming of quoted contents, multi-level quotes is superior to exiting >> web-based solutions. > > They are not exiting, but I know what you meant. That was a typo: s/exiting/existing/ > The thing is: GitHub does not need such an automation. Because most > projects are pretty happy with the process centered around the web app. It might be that they don't need features not available in a web app. It might be that it is only way they know. Not all projects are happy to being on GitHub even if they are happy with using hosted git. And they were probably created after GitHub / GitLab / Bitbucket were here. Also - citation needed. > It is only projects such as Linux, Cygwin and Git itself who refuse to > allow for tools that would let the majority of potential contributors > stick with their favorite way to read and write mails (I am talking about > users of GMail and Outlook, of course). Those are projects that started before GitHub (for obvious reasons), and which created a good enough workflow based on email. It might be that they are ossified relics, or it might be that they don't want to trade advantages of email based workflow for advantages of web app based workflow. First, email clients and Usenet news readers support threading. I haven't found a good web app that supports threading well (though it might be a matter of small set of such apps examined by me). They allow marking and labeling posts to return back later. Second, email allows offline work, and handle well sporadic Internet connection. As far as I know web apps do not handle breaks in net access well, but I might be mistaken. Hopefully this problem would vanish with improving broadband... though there always would be places without constant always-on Internet connection. Third, email (or rather conventions around email) allows to provide - description of the whole series (in cover letter) - comments for each commit individually (outside of commit message) - make commit or series be a reply to discussion (useful with WIPs) For reviewer it allows to - comment on the whole series in response to cover letter - comment on individual commit - comment on the commit message - comment on the description of commit - comment on changes - start a discussion based on a commit - propose improvements as patches Are all of them possible in PR's? To reiterate what I have said elsewhere in this thread: while it is a good idea to lower barriers to contribution, especially for new classes of users (like MS Windows users, without a way to easily install and configure MTA so that git-send-email and/or git-imap-send just works, or with default email client without support for preserving whitespace and monospace fonts), it is reviewers and maintainers that are sparse resource. Best, -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-28 18:23 ` Jakub Narębski @ 2016-08-29 10:46 ` Johannes Schindelin 0 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-29 10:46 UTC (permalink / raw) To: Jakub Narębski; +Cc: Eric Wong, Stefan Beller, meta, git [-- Attachment #1: Type: text/plain, Size: 8273 bytes --] Hi Kuba, On Sun, 28 Aug 2016, Jakub Narębski wrote: > W dniu 25.08.2016 o 15:21, Johannes Schindelin pisze: > > On Mon, 22 Aug 2016, Jakub Narębski wrote: > >> W dniu 22.08.2016 o 15:18, Johannes Schindelin pisze: > >> > >>> So unfortunately this thread has devolved. Which is sad. Because all > >>> I wanted is to have a change in Git's submission process that would > >>> not exclude *so many* developers. That is really all I care about. > >>> Not about tools. Not about open vs proprietary, or standards. > >>> > >>> I just want developers who are already familiar with Git, and come > >>> up with an improvement to Git itself, to be able to contribute it > >>> without having to pull out their hair in despair. > >> > >> What is lacking in using submitGit tool for those that have problems > >> with sending patches via email? > > > > Where do I start? And where do I stop? Here is a *very* brief list of > > issues from the top of my head (and the history of my web browser): > > Let me reorder those issues and group them into specific categories. I am afraid that this is not the direction I was interested in. You asked how submitGit fell short of my goal to provide a more convenient and more efficient submission process, and I listed a couple of reasons. I am really more interested in a better process, than in a point-by-point discussion of the reasons I listed. And some of those discussions really only distract. This comment, for example, seems to be designed to veer off in a direction that, quite frankly, does not matter for what I *really* wanted to discuss: > > - submitGit requires you to go to a separate website to interact with the > > submitGit web app. Would be so much nicer if it were a bot operating on > > PRs. > > [...] > > Also, for some people registering on GitHub is "yet another service"... ;-) I am really curious how this is supposed to keep the discussion rational. *Of course* I implied that it is bad enough to require contributors to register with one web service, and that requiring to register with *yet another service* is just excessive. Sheesh. > > - You cannot Cc: people explicitly: > > https://github.com/rtyley/submitgit/issues/31 > > > > - submitGit does not include any interdiff > > These are, I think, mainly related to lack of support for series *iteration*, > for sending new version of patch series / of pull request. Yes, of course. Because that is what makes the process so particularly tedious, thankyouverymuch. > I don't know how well GitHub pull requests deal with iteration and > refinement, and what is available as API to apps such as submitGit. Hmm. Then it may be a good idea if I let you find out before we continue to discuss these bullet points that I never wanted to discuss. > > - submitGit would require a substantial effort from me to learn how to > > extend/fix it, to run the web app locally and run its tests. That is a > > rather steep hurdle. > > Well, you cannot extend/fix GitHub at all yourself, isn't it? ;-P Sure you can. There is an API and you can register hooks. You can do even more advanced stuff [*1*]. > >> Submitting changes in Git comes in three phases: > >> - submit email with patches > >> - review and discuss patch > >> - apply patches from email > > > > You forgot a really crucial step. Maybe you did not go through dozens of > > iterations in your patch series as I regularly do, or something, so it is > > probably easy for you to forget: > > > > - find the commit in question, run rebase -i and patch it as suggested > > > > This is something that costs me quite some time to do. It is easily the > > most annoying aspect of the mail list-based approach for me. > > I probably don't have as many topics in flight, and maybe the number of > iterations is smaller, but I don't remember having troubles with that. Well, aren't you lucky. I bet you did not intend to sound condescending there, even. > > It is only projects such as Linux, Cygwin and Git itself who refuse to > > allow for tools that would let the majority of potential contributors > > stick with their favorite way to read and write mails (I am talking > > about users of GMail and Outlook, of course). > > Those are projects that started before GitHub (for obvious reasons), and > which created a good enough workflow based on email. It might be that > they are ossified relics, or it might be that they don't want to trade > advantages of email based workflow for advantages of web app based > workflow. Those are projects that started before Git was invented. Yet all three projects traded the advantages of patches and tarballs for advantages of using Git. > First, email clients and Usenet news readers support threading. I > haven't found a good web app that supports threading well (though it > might be a matter of small set of such apps examined by me). They allow > marking and labeling posts to return back later. > > Second, email allows offline work, and handle well sporadic Internet > connection. As far as I know web apps do not handle breaks in net > access well, but I might be mistaken. Hopefully this problem would > vanish with improving broadband... though there always would be places > without constant always-on Internet connection. > > Third, email (or rather conventions around email) allows to provide > - description of the whole series (in cover letter) > - comments for each commit individually (outside of commit message) > - make commit or series be a reply to discussion (useful with WIPs) > For reviewer it allows to > - comment on the whole series in response to cover letter > - comment on individual commit > - comment on the commit message > - comment on the description of commit > - comment on changes > - start a discussion based on a commit > - propose improvements as patches I find these reasons to be more a defense of "ossified practices" than based in practical considerations. For example, it is delusional to think that you can do any proper review of any moderately complex patch without having access to a worktree reflecting the revision after the patch. So this entire idea that review is inherently something you would want to be able to do without having access to a Git repository reflecting the patches in question is an idea I reject flat out. For the record, I have used GitHub Pull Requests *extensively*, as contributor, as reviewer and as maintainer. The Pull Request web interface has changed over time, but one thing remained constant: it was always much more efficient to interact with than going through the mail list. The commit diff is naturally linked to *the commit*. If I reply to notification emails when somebody left a comment, it is automatically turned into a reply on the web. If I do not want to reply via email, or if I need to see a bigger context, the notification email has a link which opens the web interface, where I can easily not only increase the diff context but also see other files in the same revision, e.g. to check a signature in a .h file. These are just a few things that are essential to efficient code review, and that are simply impossible with a mailing list approach, unless it is opinionated by requiring specific tooling to deal with the fact that code is transported through a code-hostile medium. So please understand that I am really interested in more efficient code review instead of a lengthy philosophical discussions, and that I am really saddened that I could not gain anything from your mail in that respect. I really hope that something constructive comes out of this whole discussion, because if we simply stick with this unwieldy patch submission process that costs so much of my time, then I really only lost time for nothing in return. Ciao, Johannes Footnote *1*: I wrote a little GreaseMonkey script to add a TOC button to the GitHub wiki editor: https://tomancaklab.github.io/gfm-add-toc.user.js Similar extensions can be implemented to augment the PR workflow to your liking, with the advantage of being opt-in. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 13:18 ` Johannes Schindelin 2016-08-22 18:05 ` Jakub Narębski @ 2016-08-22 22:55 ` Eric Wong 2016-08-25 12:58 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Eric Wong @ 2016-08-22 22:55 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Stefan Beller, meta, git Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > On Fri, 19 Aug 2016, Eric Wong wrote: > > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > On Thu, 18 Aug 2016, Eric Wong wrote: > > > > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > > > > > > > Old dogs claim the mail list-approach works for them. Nope. > > > > > Doesn't. Else you would not have written all those custom > > > > > scripts. > > > > > > > > git and cogito started as a bunch of custom scripts, too. > > > > > > The difference is that neither git nor cogito were opinionated. Those > > > custom scripts are. They are for one particular workflow, with one > > > particular mail client, with a strong bias to a Unix-y environment. <snip 3 lines I was not responding to> > > I guess this is a fundamental difference between *nix and Windows > > culture. > > I do not understand how you get from "I wish to make it fun to contribute > to Git" to "there is a fundamental difference between *nix and Windows > culture". Sorry, I over-quoted by 3 lines. <snip more digression..> > > > We do not even have a section on Outlook in our SubmittingPatches. > > > > > > Okay, if not the most popular mail client, then web mail? Nope, nope, > > > nope. No piping *at all* to external commands from there. > > > > > > So you basically slam the door shut on the vast majority of email users. > > > > Users have a choice to use a more scriptable mail client > > (but I guess the OS nudges users towards monolithic tools) > > You call that choice. Are you serious? > > > > That is not leaving much choice to the users in my book. > > > > Users of alpine, gnus, mutt, sylpheed, thunderbird, kmail, > > roundcube, squirelmail, etc. can all download the source, hack, > > fix and customize things. It's easier with smaller software, > > of course: git-send-email does not even require learning > > the build process or separate download. > > Now I am getting upset. This is a BS argument. Sure, I can hack the source > of these tools. > > But why on earth do I *have* to? Why can't we use or create an open > contribution process *that works without having to work so hard to be able > to contribute*? The process we have is already open. It may be *nix-centric, and *nix may be picky about it's friends, but it is open: Anybody can still contribute today without any sort of registration, credentialism, or terms-of-service(*). I am looking beyond git. I hate signing up for websites. For many years, I have used Debian as a proxy for other projects with less open contribution processes: apt-get source ...; <hack>; reportbug ... Of course, going through Debian maintainers is not always reliable or efficient. I foolishly hoped git-svn would put an end to all the registration-required bug tracker instances so I could just send my changes directly to upstream maintainers without any sort of registration. Did not happen :< > So unfortunately this thread has devolved. Which is sad. Because all I > wanted is to have a change in Git's submission process that would not > exclude *so many* developers. That is really all I care about. Not about > tools. Not about open vs proprietary, or standards. > > I just want developers who are already familiar with Git, and come up with > an improvement to Git itself, to be able to contribute it without having > to pull out their hair in despair. We want the same thing. I just want to go farther and get people familiar with (federated|decentralized) tools instead of proprietary and centralized ones. (*) I wish git could get rid of the DCO, even. But at least it's far better than the "papers, please" policy for some GNU projects. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 22:55 ` Eric Wong @ 2016-08-25 12:58 ` Johannes Schindelin 2016-08-27 22:38 ` Jakub Narębski 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-25 12:58 UTC (permalink / raw) To: Eric Wong; +Cc: Stefan Beller, meta, git Hi Eric, On Mon, 22 Aug 2016, Eric Wong wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > I just want developers who are already familiar with Git, and come up with > > an improvement to Git itself, to be able to contribute it without having > > to pull out their hair in despair. > > We want the same thing. I just want to go farther and get > people familiar with (federated|decentralized) tools instead of > proprietary and centralized ones. Why require users to get familiar with (federated|decentralized) tools *unless* they make things provably more convenient? So far, I only see that this would add to the hurdle, not improve things. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-25 12:58 ` Johannes Schindelin @ 2016-08-27 22:38 ` Jakub Narębski 2016-08-28 8:36 ` Working with public-inbox.org Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-27 22:38 UTC (permalink / raw) To: Johannes Schindelin, Eric Wong; +Cc: Stefan Beller, meta, git W dniu 25.08.2016 o 14:58, Johannes Schindelin pisze: > On Mon, 22 Aug 2016, Eric Wong wrote: >> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: >> >>> I just want developers who are already familiar with Git, and come up with >>> an improvement to Git itself, to be able to contribute it without having >>> to pull out their hair in despair. >> >> We want the same thing. I just want to go farther and get >> people familiar with (federated|decentralized) tools instead of >> proprietary and centralized ones. > > Why require users to get familiar with (federated|decentralized) tools > *unless* they make things provably more convenient? So far, I only see > that this would add to the hurdle, not improve things. Arguably for some federated/decentralized tools are preferred (for philosophical reasons), even if they do not achieve even feature parity with centralized tools (c.f. FSF). Though Git is not there to improve the world, just to be better... On the other hand some may say that centralized tools (such as GitHub and its pull requests) do not achieve feature parity with email based workflow... though the basics are here. Best regards, -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org 2016-08-27 22:38 ` Jakub Narębski @ 2016-08-28 8:36 ` Johannes Schindelin 2016-08-28 11:41 ` Jakub Narębski 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-28 8:36 UTC (permalink / raw) To: Jakub Narębski; +Cc: Eric Wong, Stefan Beller, meta, git [-- Attachment #1: Type: text/plain, Size: 1478 bytes --] Hi Kuba, On Sun, 28 Aug 2016, Jakub Narębski wrote: > W dniu 25.08.2016 o 14:58, Johannes Schindelin pisze: > > On Mon, 22 Aug 2016, Eric Wong wrote: > >> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > >> > >>> I just want developers who are already familiar with Git, and come up with > >>> an improvement to Git itself, to be able to contribute it without having > >>> to pull out their hair in despair. > >> > >> We want the same thing. I just want to go farther and get > >> people familiar with (federated|decentralized) tools instead of > >> proprietary and centralized ones. > > > > Why require users to get familiar with (federated|decentralized) tools > > *unless* they make things provably more convenient? So far, I only see > > that this would add to the hurdle, not improve things. > > Arguably for some federated/decentralized tools are preferred > (for philosophical reasons), even if they do not achieve even feature > parity with centralized tools (c.f. FSF). This statement is false. If you had talked about *your* preference, it would be true. But to state that federated/decentralized tools are universally preferred is nonsense. You know as well as I do that most users/contributors go for convenience. And if you require an inconvenient step (e.g. subscribing to a federated/decentralized philosophy), most potential contributors simply stop being potential contributors. End of story. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org 2016-08-28 8:36 ` Working with public-inbox.org Johannes Schindelin @ 2016-08-28 11:41 ` Jakub Narębski 2016-08-29 5:35 ` Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-28 11:41 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Eric Wong, Stefan Beller, meta, git Hello Johannes, W dniu 28.08.2016 o 10:36, Johannes Schindelin pisze: > On Sun, 28 Aug 2016, Jakub Narębski wrote: >> W dniu 25.08.2016 o 14:58, Johannes Schindelin pisze: >>> On Mon, 22 Aug 2016, Eric Wong wrote: >>>> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: >>>> >>>>> I just want developers who are already familiar with Git, and come up with >>>>> an improvement to Git itself, to be able to contribute it without having >>>>> to pull out their hair in despair. >>>> >>>> We want the same thing. I just want to go farther and get >>>> people familiar with (federated|decentralized) tools instead of >>>> proprietary and centralized ones. >>> >>> Why require users to get familiar with (federated|decentralized) tools >>> *unless* they make things provably more convenient? So far, I only see >>> that this would add to the hurdle, not improve things. >> >> Arguably for some federated/decentralized tools are preferred >> (for philosophical reasons), even if they do not achieve even feature >> parity with centralized tools (c.f. FSF). Philosophical and ideological reasons. > This statement is false. If you had talked about *your* preference, it > would be true. But to state that federated/decentralized tools are > universally preferred is nonsense. The key word is "some" (or, if you prefer, "a few"). > You know as well as I do that most users/contributors go for convenience. > > And if you require an inconvenient step (e.g. subscribing to a > federated/decentralized philosophy), most potential contributors simply > stop being potential contributors. End of story. For some people registering on GitHub and using web interface (though I think there is also command line interface, don't know if it covers PRs) would be the inconvenient step. Just saying. What I would like to see is bidirectional bridge between email and GitHub (and possibly other hosting sites), so that everybody could use their favorite interface, be it Git + email client, or Git + web browser (or desktop client for GitHub). Just like thanks to Gmane and Gmane-like public-inbox I can use either email client or news reader, and it is [nearly] transparent regarding to which one I use. Even better if hosting site implementation (of pull requests, etc.) were based on federated systems (like email, or Usenet, or IRC, or XMPP), and not closed in walled gardens; with hosting site just being one particular implementation (like e.g. Ghost blog engine, and Ghost Pro hosting site). I agree that lowering barriers to contribution for new class of users (like MS Windows users; setting up MTA on Linux etc. for git-send-email or git-imap-send is not very complicated), if it would be possible without inconveniencing existing reviewers... which are even more important, judging by the amount of "needs review" messages in "What's cooking...". Best, -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org 2016-08-28 11:41 ` Jakub Narębski @ 2016-08-29 5:35 ` Johannes Schindelin 0 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-29 5:35 UTC (permalink / raw) To: Jakub Narębski; +Cc: Eric Wong, Stefan Beller, meta, git [-- Attachment #1: Type: text/plain, Size: 993 bytes --] Hi Kuba, On Sun, 28 Aug 2016, Jakub Narębski wrote: > W dniu 28.08.2016 o 10:36, Johannes Schindelin pisze: > > On Sun, 28 Aug 2016, Jakub Narębski wrote: > > > >> Arguably for some federated/decentralized tools are preferred > >> (for philosophical reasons), even if they do not achieve even feature > >> parity with centralized tools (c.f. FSF). > > Philosophical and ideological reasons. My mistake. In my mind, I corrected the grammar to skip the "for", not to insert "developers" after "some". Still. Based on my experience in the workforce, it appears to me that you still confuse ease with convenience: many Windows developers I worked with are quite capable of doing much more complicated things than configuring imap-send/send-email. But why would they? Coming back to your "philosophical and ideological reasons". IMO it is not very wise to go down that path. Much wiser would it be to make provable time savings a guiding principle. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-18 12:42 ` Johannes Schindelin 2016-08-18 20:49 ` Eric Wong @ 2016-08-19 15:03 ` Jeff King 2016-08-20 19:57 ` Jakub Narębski 2016-08-22 13:06 ` Johannes Schindelin 1 sibling, 2 replies; 64+ messages in thread From: Jeff King @ 2016-08-19 15:03 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Stefan Beller, meta, git@vger.kernel.org, Eric Wong On Thu, Aug 18, 2016 at 02:42:34PM +0200, Johannes Schindelin wrote: > BTW I take this thread as yet another proof that people are unhappy with > mail list-based review: if you have to build *that much* tooling around it > (and Peff & Junio certainly have a megaton of advanced and sophisticated > tooling around it, holy cow!) it is really incorrect to state that the > mail list-driven approach works for you. It is much closer to the truth to > say that the mail-list-plus-loads-of-custom-tools-driven approach works > for you. > > I am really not a fan of this. > > The theory "it's inclusive because everyone has access to mail" falls on > its face, badly, when even old timers have to build entire infrastructures > around it just to begin to be able to use it efficiently. > > It reminds me of an old software developer I met long ago, who claimed CVS > works for him. He had written tens of thousands of lines of shell scripts, > is what allowed "CVS" to work for him. > > Same here. Old dogs claim the mail list-approach works for them. Nope. > Doesn't. Else you would not have written all those custom scripts. I read this over, didn't agree, waited a whole day for perspective, and still just can't agree. So now I'm responding. :) There is nothing wrong with building tooling around your workflow. If we had a GitHub-based workflow, I'd build tooling around that, too. One of the things I _like_ about a mail-based workflow is how easy it is to build that tooling, and to get it to integrate with other existing tools. It's the major reason I'm resistant to moving development to GitHub. Not only would I have to throw away all of my tools, but I'm not sure I could easily build equivalent ones. Now, I am perfectly open to the idea that more of the tooling should be standardized, so people do not have to build their own. But the major problem there is that so much of what I've built is about gluing things together for the rest of _my_ tools. I've shared my techniques and scripts for using mutt several times, but they don't do somebody a lick of good if they are using gmail or thunderbird. So I don't really think I have a megaton of tooling. I just have a little bit of glue to existing tools I was using anyway. And I think that is where the disconnect is. If you are not using mutt already, then it sure seems like a big jump to change your MUA. And I'm sympathetic to that. But I don't think that means that the mailing-list approach is not working for me, as you claim in the last paragraph. -Peff PS There _are_ some open questions in our workflow that are not really mailing list specific. E.g., the fact that it is hard to see whether and if your patch was picked up by Junio, what changes were made, tracking multiple versions, etc. I _don't_ have good tooling for that, but it's something that could be made generally available, as it's unrelated to the MUA. It's also not necessarily specific to mailing list development (e.g., a push-based workflow that aggressively rebases runs into the same versioning questions). ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 15:03 ` Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Jeff King @ 2016-08-20 19:57 ` Jakub Narębski 2016-08-23 4:47 ` Arif Khokar 2016-08-22 13:06 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-20 19:57 UTC (permalink / raw) To: Jeff King, Johannes Schindelin; +Cc: Stefan Beller, meta, git, Eric Wong W dniu 19.08.2016 o 17:03, Jeff King pisze: [...] > There is nothing wrong with building tooling around your workflow. If we > had a GitHub-based workflow, I'd build tooling around that, too. One of > the things I _like_ about a mail-based workflow is how easy it is to > build that tooling, and to get it to integrate with other existing > tools. It's the major reason I'm resistant to moving development to > GitHub. Not only would I have to throw away all of my tools, but I'm not > sure I could easily build equivalent ones. Also, you would have the same problem with tooling around specific Git hosting site as there is with tooling around specific email client. Tool that works with GitHub (like submitGit) won't work with Bitbucket or GitLab. Well, unless such tooling was built in in all hosting sites. They have support for sending mails anyway, isn't it? But perhaps the problem is current lack of tooling in the opposite direction, namely getting patches from mailing list and applying them to GitHub repo, or Bitbucket, or GitLab. Though with working Git, it is something easier than sending patches via email; it is enough that email client can save email to a file (or better, whole sub-thread to file or files). Also, there is lack of tools that convert inline (in-diff) comments on GitHub (or Bitbucket, or GitLab) to email with review... There is also distrust for centralized solutions (email is, in principle, decentralized). See projects like https://solid.mit.edu, etc. > Now, I am perfectly open to the idea that more of the tooling should be > standardized, so people do not have to build their own. But the major > problem there is that so much of what I've built is about gluing things > together for the rest of _my_ tools. I've shared my techniques and > scripts for using mutt several times, but they don't do somebody a lick > of good if they are using gmail or thunderbird. It would be nice to have links to those tools in SubmittingPatches and/or the Git homepage. [...] > PS There _are_ some open questions in our workflow that are not really > mailing list specific. E.g., the fact that it is hard to see whether > and if your patch was picked up by Junio, what changes were made, > tracking multiple versions, etc. I _don't_ have good tooling for > that, but it's something that could be made generally available, as > it's unrelated to the MUA. It's also not necessarily specific to > mailing list development (e.g., a push-based workflow that > aggressively rebases runs into the same versioning questions). Well, "What's cooking ..." and 'pu' branch helps, I think. -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-20 19:57 ` Jakub Narębski @ 2016-08-23 4:47 ` Arif Khokar 2016-08-24 15:34 ` Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Arif Khokar @ 2016-08-23 4:47 UTC (permalink / raw) To: Jakub Narębski, Jeff King, Johannes Schindelin Cc: Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 08/20/2016 03:57 PM, Jakub Narębski wrote: > But perhaps the problem is current lack of tooling in the opposite direction, > namely getting patches from mailing list and applying them to GitHub repo, > or Bitbucket, or GitLab. Though with working Git, it is something easier > than sending patches via email; it is enough that email client can save > email to a file (or better, whole sub-thread to file or files). Given that public-inbox provides an NNTP interface, couldn't the ARTICLE <message-id> NNTP command be used to easily retrieve the messages in a given patch series (at least compared to POP or IMAP). Perhaps git-send-email could be modified to include the message-id value of each patch in the series that it sends to the mailing list and include it in the cover letter. Then a script could be written (i.e., git-download-patch) which could parse the cover letter message (specified using its message-id), and download all the patches in series, which can then be applied using git-am. This would in fact take the email client out of the equation in terms of saving patches. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-23 4:47 ` Arif Khokar @ 2016-08-24 15:34 ` Johannes Schindelin 2016-08-24 18:49 ` Eric Wong ` (2 more replies) 0 siblings, 3 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-24 15:34 UTC (permalink / raw) To: Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong [-- Attachment #1: Type: text/plain, Size: 1673 bytes --] Hi Arif, On Tue, 23 Aug 2016, Arif Khokar wrote: > On 08/20/2016 03:57 PM, Jakub Narębski wrote: > > > But perhaps the problem is current lack of tooling in the opposite > > direction, namely getting patches from mailing list and applying them > > to GitHub repo, or Bitbucket, or GitLab. Though with working Git, it > > is something easier than sending patches via email; it is enough that > > email client can save email to a file (or better, whole sub-thread to > > file or files). > > Given that public-inbox provides an NNTP interface, couldn't the ARTICLE > <message-id> NNTP command be used to easily retrieve the messages in a > given patch series (at least compared to POP or IMAP). Perhaps > git-send-email could be modified to include the message-id value of each > patch in the series that it sends to the mailing list and include it in > the cover letter. I am no expert in the NNTP protocol (I abandoned News long ago), but if you go from HTML, you can automate the process without requiring changes in format-patch. > Then a script could be written (i.e., git-download-patch) which could > parse the cover letter message (specified using its message-id), and > download all the patches in series, which can then be applied using > git-am. This would in fact take the email client out of the equation in > terms of saving patches. I recently adapted an old script I had to apply an entire patch series given the GMane link to its cover letter: https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh Maybe you find it in you to adapt that to work with public-inbox.org? Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 15:34 ` Johannes Schindelin @ 2016-08-24 18:49 ` Eric Wong 2016-08-24 19:12 ` Jeff King 2016-08-25 3:40 ` Arif Khokar 2016-08-25 2:41 ` Arif Khokar 2017-02-10 16:10 ` Johannes Schindelin 2 siblings, 2 replies; 64+ messages in thread From: Eric Wong @ 2016-08-24 18:49 UTC (permalink / raw) To: Johannes Schindelin, Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, meta, git Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > Hi Arif, > > On Tue, 23 Aug 2016, Arif Khokar wrote: > > > On 08/20/2016 03:57 PM, Jakub Narębski wrote: > > > > > But perhaps the problem is current lack of tooling in the opposite > > > direction, namely getting patches from mailing list and applying them > > > to GitHub repo, or Bitbucket, or GitLab. Though with working Git, it > > > is something easier than sending patches via email; it is enough that > > > email client can save email to a file (or better, whole sub-thread to > > > file or files). > > > > Given that public-inbox provides an NNTP interface, couldn't the ARTICLE > > <message-id> NNTP command be used to easily retrieve the messages in a > > given patch series (at least compared to POP or IMAP). Perhaps > > git-send-email could be modified to include the message-id value of each > > patch in the series that it sends to the mailing list and include it in > > the cover letter. I think that makes sense; perhaps an X-Git-Followups: header from send-email which lists the child Message-IDs the same way References: does for ancestors. (perhaps there's already a standardized header for listing children) I thought about allowing a giant MIME message with all the patches attached, too but that won't work for a large patch series due to size limits along various SMTP hops. Compression might make spam filters unhappy, too. > I am no expert in the NNTP protocol (I abandoned News long ago), but if > you go from HTML, you can automate the process without requiring changes > in format-patch. > > > Then a script could be written (i.e., git-download-patch) which could > > parse the cover letter message (specified using its message-id), and > > download all the patches in series, which can then be applied using > > git-am. This would in fact take the email client out of the equation in > > terms of saving patches. w3m -dump -dump_source nntp://<NNTP-server>/<Message-ID> ought to already work for news.gmane.org and news.public-inbox.org The Net::NNTP Perl module is a standard part of the Perl distro for many years, now (along with Net::SMTP), so that would not be a roadblock for implementing a custom downloader distributed with git. > I recently adapted an old script I had to apply an entire patch series > given the GMane link to its cover letter: > > https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh > > Maybe you find it in you to adapt that to work with public-inbox.org? I would be hesitant to depend too much on public-inbox.org until more mirrors appear. Even then, NNTP is a better-established protocol and a fallback to news.gmane still works. (public-inbox.org is powered by hamsters running on wheels, sometimes I let them rest :) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 18:49 ` Eric Wong @ 2016-08-24 19:12 ` Jeff King 2016-08-24 19:27 ` Eric Wong 2016-08-25 3:40 ` Arif Khokar 1 sibling, 1 reply; 64+ messages in thread From: Jeff King @ 2016-08-24 19:12 UTC (permalink / raw) To: Eric Wong Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Stefan Beller, meta, git On Wed, Aug 24, 2016 at 06:49:38PM +0000, Eric Wong wrote: > > > Given that public-inbox provides an NNTP interface, couldn't the ARTICLE > > > <message-id> NNTP command be used to easily retrieve the messages in a > > > given patch series (at least compared to POP or IMAP). Perhaps > > > git-send-email could be modified to include the message-id value of each > > > patch in the series that it sends to the mailing list and include it in > > > the cover letter. > > I think that makes sense; perhaps an X-Git-Followups: header > from send-email which lists the child Message-IDs the same way > References: does for ancestors. (perhaps there's already a > standardized header for listing children) I think that's harder to adapt to some workflows, since it implies generating all of the message-ids ahead of time (whereas if you are feeding the messages into an existing MUA, it may generate them on the fly as it sends). > I thought about allowing a giant MIME message with all the > patches attached, too but that won't work for a large patch > series due to size limits along various SMTP hops. > Compression might make spam filters unhappy, too. This was a problem faced by binary groups on Usenet, which had to split large files across many messages. It has been a long time since I've dealt with those, but I think the state of the art involved using "1/20", "2/20", etc in the subjects to piece together the original. There may also have been header or body content that included a unique id, so you always knew which messages were part of a set. They also used things like forward error correction to handle dropped messages, but I don't think we need to go that far. So parsing the "PATCH 1/20" headers sounds hacky, but I think it has worked for years in other communities. -Peff ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 19:12 ` Jeff King @ 2016-08-24 19:27 ` Eric Wong 0 siblings, 0 replies; 64+ messages in thread From: Eric Wong @ 2016-08-24 19:27 UTC (permalink / raw) To: Jeff King Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Stefan Beller, meta, git Jeff King <peff@peff.net> wrote: > On Wed, Aug 24, 2016 at 06:49:38PM +0000, Eric Wong wrote: > > > > Given that public-inbox provides an NNTP interface, couldn't the ARTICLE > > > > <message-id> NNTP command be used to easily retrieve the messages in a > > > > given patch series (at least compared to POP or IMAP). Perhaps > > > > git-send-email could be modified to include the message-id value of each > > > > patch in the series that it sends to the mailing list and include it in > > > > the cover letter. > > > > I think that makes sense; perhaps an X-Git-Followups: header > > from send-email which lists the child Message-IDs the same way > > References: does for ancestors. (perhaps there's already a > > standardized header for listing children) > > I think that's harder to adapt to some workflows, since it implies > generating all of the message-ids ahead of time (whereas if you are > feeding the messages into an existing MUA, it may generate them on the > fly as it sends). Yeah, it would be limited to git send-email users, only :< > > I thought about allowing a giant MIME message with all the > > patches attached, too but that won't work for a large patch > > series due to size limits along various SMTP hops. > > Compression might make spam filters unhappy, too. > > This was a problem faced by binary groups on Usenet, which had to split > large files across many messages. > > It has been a long time since I've dealt with those, but I think the > state of the art involved using "1/20", "2/20", etc in the subjects to > piece together the original. There may also have been header or body > content that included a unique id, so you always knew which messages > were part of a set. > > They also used things like forward error correction to handle dropped > messages, but I don't think we need to go that far. > > So parsing the "PATCH 1/20" headers sounds hacky, but I think it has > worked for years in other communities. nzb (an XML format) seems to be the thing for Usenet binaries, nowadays. Maybe it's workable for git, maybe it's overkill or not worth it for the two (non-.onion) NNTP servers we have. nzb seems widely supported enough (on a Debian jessie system): $ apt-cache search nzb sabnzbdplus - web-based binary newsgrabber with nzb support sabnzbdplus-theme-classic - classic interface templates for the SABnzbd+ binary newsgrabber sabnzbdplus-theme-iphone - transitional package for migration to sabnzbdplus-theme-mobile sabnzbdplus-theme-mobile - mobile interface templates for the SABnzbd+ binary newsgrabber sabnzbdplus-theme-plush - plush interface templates for the SABnzbd+ binary newsgrabber sabnzbdplus-theme-smpl - smpl interface templates for the SABnzbd+ binary newsgrabber libnzb-dev - An nzb based Usenet binary grabber (development files) libnzb0c2a - An nzb based Usenet binary grabber (runtime library) lottanzb - simple and automated Usenet downloader for Newzbin (NZB) files nzb - Usenet binary grabber nzbget - command-line based binary newsgrabber for nzb files python-pynzb - unified API for parsing NZB files from NNTP (Usenet) servers spotweb - web interface to search and filter Usenet spots ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 18:49 ` Eric Wong 2016-08-24 19:12 ` Jeff King @ 2016-08-25 3:40 ` Arif Khokar 1 sibling, 0 replies; 64+ messages in thread From: Arif Khokar @ 2016-08-25 3:40 UTC (permalink / raw) To: Eric Wong, Johannes Schindelin, Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, git@vger.kernel.org, meta@public-inbox.org On 08/24/2016 02:49 PM, Eric Wong wrote: >> On Tue, 23 Aug 2016, Arif Khokar wrote: >>> Given that public-inbox provides an NNTP interface, couldn't the ARTICLE >>> <message-id> NNTP command be used to easily retrieve the messages in a >>> given patch series (at least compared to POP or IMAP). Perhaps >>> git-send-email could be modified to include the message-id value of each >>> patch in the series that it sends to the mailing list and include it in >>> the cover letter. > > I think that makes sense; perhaps an X-Git-Followups: header > from send-email which lists the child Message-IDs the same way > References: does for ancestors. That sounds like a better idea compared to what I came up with originally and it would be much easier to parse out of the downloaded cover letter message headers as opposed to looking for delimiters/keywords in the message body. > (perhaps there's already a standardized header for listing children) I don't recall ever seeing anything like that in any RFC or message header I've read through. It's an interesting idea though. > I thought about allowing a giant MIME message with all the > patches attached, too but that won't work for a large patch > series due to size limits along various SMTP hops. I think the vast majority of SMTP servers allow several megabyte messages though their configured policy. I can't speak for those who use their own SMTP servers though. NNTP servers may limit an individual message to a megabyte or less though. > Compression might make spam filters unhappy, too. Perhaps, but there should be more reliance on IP blacklists and DMARC as a first line of defense against SPAM. >>> Then a script could be written (i.e., git-download-patch) which could >>> parse the cover letter message (specified using its message-id), and >>> download all the patches in series, which can then be applied using >>> git-am. This would in fact take the email client out of the equation in >>> terms of saving patches. > > w3m -dump -dump_source nntp://<NNTP-server>/<Message-ID> > > ought to already work for news.gmane.org and news.public-inbox.org That's interesting. I didn't know w3m was capable of that. But, given the way you specified it, it doesn't show the article headers. Replacing the -dump and -dump_source options with -dump_both would display the headers as well. > The Net::NNTP Perl module is a standard part of the Perl distro > for many years, now (along with Net::SMTP), so that would not > be a roadblock for implementing a custom downloader distributed > with git. I wrote a prototype one and included it in my response to Johannes in <DM5PR17MB1353B99EBD5F4FD23360DD41D3ED0@DM5PR17MB1353.namprd17.prod.outlook.com>. It could be used as a starting point in terms of making it easier to download patches to apply with git-am (without having to rely on one's MUA or the tooling around it). ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 15:34 ` Johannes Schindelin 2016-08-24 18:49 ` Eric Wong @ 2016-08-25 2:41 ` Arif Khokar 2017-02-10 16:10 ` Johannes Schindelin 2 siblings, 0 replies; 64+ messages in thread From: Arif Khokar @ 2016-08-25 2:41 UTC (permalink / raw) To: Johannes Schindelin, Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 08/24/2016 11:34 AM, Johannes Schindelin wrote: > Hi Arif, Hello Johannes, > On Tue, 23 Aug 2016, Arif Khokar wrote: > >> Given that public-inbox provides an NNTP interface, couldn't the ARTICLE >> <message-id> NNTP command be used to easily retrieve the messages in a >> given patch series (at least compared to POP or IMAP). Perhaps >> git-send-email could be modified to include the message-id value of each >> patch in the series that it sends to the mailing list and include it in >> the cover letter. > > I am no expert in the NNTP protocol (I abandoned News long ago), but if > you go from HTML, you can automate the process without requiring changes > in format-patch. Could you elaborate further on what you mean by using HTML in this context? > I recently adapted an old script I had to apply an entire patch series > given the GMane link to its cover letter: > > https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh > > Maybe you find it in you to adapt that to work with public-inbox.org? I was thinking more along the lines of using NNTP to retrieve the patches and save them to disk (rather than HTTP). For example, a perl script like the following could retrieve the article directly over NNTP. I haven't tested whether the resulting file would work with git-am though (since it may not meet the criteria of a mbox file). You can invoke it as follows: > perl download_patch.pl "<520a941f7472ac1cb4fa41e6bba33a0afc2f5999.1471264971.git.johannes.schindelin@gmx.de>" * Forgive any formatting issues resulting from my use of Thunderbird as a MUA. use strict; use warnings; use Net::NNTP; # Assume $ARGV[0] is the message id my $message_id = $ARGV[0]; my $gmane_nntp = Net::NNTP->new('news.gmane.org'); my $article_ref = $gmane_nntp->article($message_id); # Make a filename like git-format-patch would my $counter = 1; my $subject_line = (grep /^Subject: /, @$article_ref)[0]; $subject_line =~ s/^Subject:[^]]+] //; $subject_line =~ s/ /-/g; my $filename = sprintf "%04i-%s", $counter, $subject_line; print "Filename:\n"; print $filename; print "\n"; print "Article\n"; my $article_str = join "", @$article_ref; print $article_str; ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 15:34 ` Johannes Schindelin 2016-08-24 18:49 ` Eric Wong 2016-08-25 2:41 ` Arif Khokar @ 2017-02-10 16:10 ` Johannes Schindelin 2017-02-13 5:52 ` Arif Khokar 2 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2017-02-10 16:10 UTC (permalink / raw) To: Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong [-- Attachment #1: Type: text/plain, Size: 2311 bytes --] Hi Arif, On Wed, 24 Aug 2016, Johannes Schindelin wrote: > On Tue, 23 Aug 2016, Arif Khokar wrote: > > > On 08/20/2016 03:57 PM, Jakub Narębski wrote: > > > > > But perhaps the problem is current lack of tooling in the opposite > > > direction, namely getting patches from mailing list and applying > > > them to GitHub repo, or Bitbucket, or GitLab. Though with working > > > Git, it is something easier than sending patches via email; it is > > > enough that email client can save email to a file (or better, whole > > > sub-thread to file or files). > > > > Given that public-inbox provides an NNTP interface, couldn't the > > ARTICLE <message-id> NNTP command be used to easily retrieve the > > messages in a given patch series (at least compared to POP or IMAP). > > Perhaps git-send-email could be modified to include the message-id > > value of each patch in the series that it sends to the mailing list > > and include it in the cover letter. > > I am no expert in the NNTP protocol (I abandoned News long ago), but if > you go from HTML, you can automate the process without requiring changes > in format-patch. > > > Then a script could be written (i.e., git-download-patch) which could > > parse the cover letter message (specified using its message-id), and > > download all the patches in series, which can then be applied using > > git-am. This would in fact take the email client out of the equation > > in terms of saving patches. > > I recently adapted an old script I had to apply an entire patch series > given the GMane link to its cover letter: > > https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh > > Maybe you find it in you to adapt that to work with public-inbox.org? Oh well. That would have been too easy a task, right? As it happens, I needed this functionality myself (when reworking my git-path-in-subdir patch to include Mike Rappazzo's previous patch series that tried to fix the same bug). I copy-edited the script to work with public-inbox.org, it accepts a Message-ID or URL or GMane URL and will try to apply the patch (or patch series) on top of the current revision: https://github.com/git-for-windows/build-extra/blob/2268850552c7/apply-from-public-inbox.sh Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-10 16:10 ` Johannes Schindelin @ 2017-02-13 5:52 ` Arif Khokar 2017-02-13 14:37 ` Johannes Schindelin 2017-02-13 19:21 ` Junio C Hamano 0 siblings, 2 replies; 64+ messages in thread From: Arif Khokar @ 2017-02-13 5:52 UTC (permalink / raw) To: Johannes Schindelin, Arif Khokar Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 02/10/2017 11:10 AM, Johannes Schindelin wrote: > Hi Arif, > > On Wed, 24 Aug 2016, Johannes Schindelin wrote: >> I recently adapted an old script I had to apply an entire patch series >> given the GMane link to its cover letter: >> >> https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh >> >> Maybe you find it in you to adapt that to work with public-inbox.org? > > Oh well. That would have been too easy a task, right? > > As it happens, I needed this functionality myself (when reworking my > git-path-in-subdir patch to include Mike Rappazzo's previous patch series > that tried to fix the same bug). > > I copy-edited the script to work with public-inbox.org, it accepts a > Message-ID or URL or GMane URL and will try to apply the patch (or patch > series) on top of the current revision: > > https://github.com/git-for-windows/build-extra/blob/2268850552c7/apply-from-public-inbox.sh Thanks for the link. One thing that comes to mind that is that it may be better to just download the patches and then manually apply them afterwords rather than doing it in the script itself. Or at least add an option to the script to not automatically invoke git am. Getting back to the point I made when this thread was still active, I still think it would be better to be able to list the message-id values in the header or body of the cover letter message of a patch series (preferably the former) in order to facilitate downloading the patches via NNTP from gmane or public-inbox.org. That would make it easier compared to the different, ad-hoc, methods that exist for each email client. Alternatively, or perhaps in addition to the list of message-ids, a list of URLs to public-inbox.org or gmane messages could also be provided for those who prefer to download patches via HTTP. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-13 5:52 ` Arif Khokar @ 2017-02-13 14:37 ` Johannes Schindelin 2017-02-14 3:56 ` Arif Khokar 2017-02-13 19:21 ` Junio C Hamano 1 sibling, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2017-02-13 14:37 UTC (permalink / raw) To: Arif Khokar Cc: Arif Khokar, Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong Hi Arif, On Mon, 13 Feb 2017, Arif Khokar wrote: > On 02/10/2017 11:10 AM, Johannes Schindelin wrote: > > > > On Wed, 24 Aug 2016, Johannes Schindelin wrote: > > > > I recently adapted an old script I had to apply an entire patch > > > series given the GMane link to its cover letter: > > > > > > https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh > > > > > > Maybe you find it in you to adapt that to work with > > > public-inbox.org? > > > > Oh well. That would have been too easy a task, right? > > > > As it happens, I needed this functionality myself (when reworking my > > git-path-in-subdir patch to include Mike Rappazzo's previous patch > > series that tried to fix the same bug). > > > > I copy-edited the script to work with public-inbox.org, it accepts a > > Message-ID or URL or GMane URL and will try to apply the patch (or > > patch series) on top of the current revision: > > > > https://github.com/git-for-windows/build-extra/blob/2268850552c7/apply-from-public-inbox.sh > > Thanks for the link. One thing that comes to mind that is that it may > be better to just download the patches and then manually apply them > afterwords rather than doing it in the script itself. Or at least add > an option to the script to not automatically invoke git am. I actually had expected *you* to put in a little bit of an effort, too. In fact, I was very disappointed that you did not even look into porting that script to use public-inbox instead of GMane. > Getting back to the point I made when this thread was still active, I > still think it would be better to be able to list the message-id values > in the header or body of the cover letter message of a patch series > (preferably the former) in order to facilitate downloading the patches > via NNTP from gmane or public-inbox.org. That would make it easier > compared to the different, ad-hoc, methods that exist for each email > client. You can always do that yourself: you can modify your cover letter to include that information. Note that doing this automatically in format-patch may not be appropriate, as 1) the Message-ID could be modified depending on the mail client used to send the mails, and 2) it is not unheard of that a developer finds a bug in the middle of sending a patch series, fixes that bug, and regenerates the remainder of the patch series, completely rewriting those Message-IDs. > Alternatively, or perhaps in addition to the list of message-ids, a list > of URLs to public-inbox.org or gmane messages could also be provided for > those who prefer to download patches via HTTP. At this point, I am a little disinterested in a discussion without code. I brought some code to the table, after all. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-13 14:37 ` Johannes Schindelin @ 2017-02-14 3:56 ` Arif Khokar 2017-02-14 3:59 ` Arif Khokar 2017-02-14 7:13 ` Eric Wong 0 siblings, 2 replies; 64+ messages in thread From: Arif Khokar @ 2017-02-14 3:56 UTC (permalink / raw) To: Johannes Schindelin Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong, Arif Khokar On 02/13/2017 09:37 AM, Johannes Schindelin wrote: > Hi Arif, > > On Mon, 13 Feb 2017, Arif Khokar wrote: >> Thanks for the link. One thing that comes to mind that is that it may >> be better to just download the patches and then manually apply them >> afterwords rather than doing it in the script itself. Or at least add >> an option to the script to not automatically invoke git am. > > I actually had expected *you* to put in a little bit of an effort, too. In > fact, I was very disappointed that you did not even look into porting that > script to use public-inbox instead of GMane. I wasn't aware of that expectation. My idea was to use NNTP as a way to facilitate the development of a new git utility that would serve as the inverse of git-send-email (sort of like the relationship between git format-patch and git am), rather than using a IIRC, I had posted some proof-of-concept Perl code to do so back in August in <DM5PR17MB1353B99EBD5F4FD23360DD41D3ED0@DM5PR17MB1353.namprd17.prod.outlook.com> Looking at public-inbox now at the archives of this group, it appears that several of the messages I sent weren't archived for some reason (and I didn't see any more responses to what I posted at the time). The messages are accessible via NNTP when connecting to gmane though. Also, looking at the source of the message I referenced, it appears that my MUA decided to base64 encode the message for some reason (which may have resulted in it getting filtered by those who I sent the message to). I will look into this more now (given yours and Junio's responses). >> Getting back to the point I made when this thread was still active, I >> still think it would be better to be able to list the message-id values >> in the header or body of the cover letter message of a patch series >> (preferably the former) in order to facilitate downloading the patches >> via NNTP from gmane or public-inbox.org. That would make it easier >> compared to the different, ad-hoc, methods that exist for each email >> client. > > You can always do that yourself: you can modify your cover letter to > include that information. Certainly, but it would be nice to be able to have it done automatically by git format-patch (which I'll look into). > Note that doing this automatically in format-patch may not be appropriate, > as 1) the Message-ID could be modified depending on the mail client used > to send the mails I think the best approach would be not to make including the message-id values the default behavior. Specifying a new command-line option to enable that behavior should address those concerns I think. > and 2) it is not unheard of that a developer > finds a bug in the middle of sending a patch series, fixes that bug, and > regenerates the remainder of the patch series, completely rewriting those > Message-IDs. Perhaps, but should something like that not warrant a re-roll of sorts. That is, one should reply to the partial patch series stating that there is a bug that renders this particular patch (series) un-usable and the re-roll could be posted as a reply to the original cover letter? >> Alternatively, or perhaps in addition to the list of message-ids, a list >> of URLs to public-inbox.org or gmane messages could also be provided for >> those who prefer to download patches via HTTP. > > At this point, I am a little disinterested in a discussion without code. I > brought some code to the table, after all. If you have the time, please take a look at the message-id I referenced. If you need, I can re-post the proof-of-concept code. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-14 3:56 ` Arif Khokar @ 2017-02-14 3:59 ` Arif Khokar 2017-02-14 7:13 ` Eric Wong 1 sibling, 0 replies; 64+ messages in thread From: Arif Khokar @ 2017-02-14 3:59 UTC (permalink / raw) To: Arif Khokar, Johannes Schindelin Cc: Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 02/13/2017 10:56 PM, Arif Khokar wrote: > I wasn't aware of that expectation. My idea was to use NNTP as a way to > facilitate the development of a new git utility that would serve as the > inverse of git-send-email (sort of like the relationship between git > format-patch and git am), rather than using a ...custom script that's tightly coupled to gmane and public-inbox.org ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-14 3:56 ` Arif Khokar 2017-02-14 3:59 ` Arif Khokar @ 2017-02-14 7:13 ` Eric Wong 1 sibling, 0 replies; 64+ messages in thread From: Eric Wong @ 2017-02-14 7:13 UTC (permalink / raw) To: Arif Khokar Cc: Johannes Schindelin, Jakub Narębski, Jeff King, Stefan Beller, meta, git Arif Khokar <arif.i.khokar@gmail.com> wrote: > On 02/13/2017 09:37 AM, Johannes Schindelin wrote: > >I actually had expected *you* to put in a little bit of an effort, too. In > >fact, I was very disappointed that you did not even look into porting that > >script to use public-inbox instead of GMane. > > I wasn't aware of that expectation. My idea was to use NNTP as a way to > facilitate the development of a new git utility that would serve as the > inverse of git-send-email (sort of like the relationship between git > format-patch and git am), rather than using a Speaking for myself, I usually don't expect much, especially from newcomers. So I am disappointed to see Dscho's disappointment aimed at you, Arif. Especially since you're not a regular and we have no idea how much free time, attention span, or familiarity with Bourne shell you have. > IIRC, I had posted some proof-of-concept Perl code to do so back in August > in <DM5PR17MB1353B99EBD5F4FD23360DD41D3ED0@DM5PR17MB1353.namprd17.prod.outlook.com> > > Looking at public-inbox now at the archives of this group, it appears that > several of the messages I sent weren't archived for some reason (and I > didn't see any more responses to what I posted at the time). The messages > are accessible via NNTP when connecting to gmane though. It looks like it went to gmane via the meta@public-inbox.org to gmane.mail.public-inbox.general mirror, not via the git@vger mirror. I can't find it on git@vger's mail-archive.com mirror, either: https://mail-archive.com/search?q=Arif+Khokar&l=git%40vger.kernel.org > Also, looking at the source of the message I referenced, it appears that my > MUA decided to base64 encode the message for some reason (which may have > resulted in it getting filtered by those who I sent the message to). It probably wasn't base64, but maybe it was one of these: http://vger.kernel.org/majordomo-taboos.txt Or it was the SPF softfail which you can see in the headers on both gmane and public-inbox. It might even be the '_' (underscore) in your other address. But even Junio gets dropped by vger sometimes: https://public-inbox.org/git/20170127035753.GA2604@dcvr/ But if I had to guess, vger gets hit by truckloads of spam and the the backscatter volume could become unimaginable, so perhaps it has good reason to discard silently. Anyways, the eventual goal of public-inbox is to flip the mailing list model backwards into "archives first" mode, so a message needs to make it into public archives before it goes out to subscribers. That might prevent or avoid such problems... *shrug* ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-13 5:52 ` Arif Khokar 2017-02-13 14:37 ` Johannes Schindelin @ 2017-02-13 19:21 ` Junio C Hamano 2017-02-14 3:55 ` Arif Khokar 1 sibling, 1 reply; 64+ messages in thread From: Junio C Hamano @ 2017-02-13 19:21 UTC (permalink / raw) To: Arif Khokar Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong Arif Khokar <arif.i.khokar@gmail.com> writes: > ... I > still think it would be better to be able to list the message-id > values in the header or body of the cover letter message of a patch > series (preferably the former) in order to facilitate downloading the > patches via NNTP from gmane or public-inbox.org. You are looking at builtin/log.c::make_cover_letter()? Patches welcome, but I think you'd need a bit of preparatory refactoring to allow gen_message_id() be called for all messages _before_ this function is called, as currently we generate them as we emit each patch. > Alternatively, or perhaps in addition to the list of message-ids, a > list of URLs to public-inbox.org or gmane messages could also be > provided for those who prefer to download patches via HTTP. Many people around here do not want to repeat the mistake of relying too much on one provider. Listing Message-IDs may be a good idea, listing URLs that are tied to one provider is less so. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-13 19:21 ` Junio C Hamano @ 2017-02-14 3:55 ` Arif Khokar 2017-02-14 4:41 ` Junio C Hamano 0 siblings, 1 reply; 64+ messages in thread From: Arif Khokar @ 2017-02-14 3:55 UTC (permalink / raw) To: Junio C Hamano, Arif Khokar Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 02/13/2017 02:21 PM, Junio C Hamano wrote: > Arif Khokar <arif.i.khokar@gmail.com> writes: > >> ... I >> still think it would be better to be able to list the message-id >> values in the header or body of the cover letter message of a patch >> series (preferably the former) in order to facilitate downloading the >> patches via NNTP from gmane or public-inbox.org. > > You are looking at builtin/log.c::make_cover_letter()? Patches > welcome, but I think you'd need a bit of preparatory refactoring > to allow gen_message_id() be called for all messages _before_ this > function is called, as currently we generate them as we emit each > patch. Thank you for the advice; I'll look into it. One concern I have regarding this idea is whether or not SMTP servers typically replace a Message-Id header set by the client. If that's the case, then this approach may unexpectedly fail for some people depending on what email provider they use (if they don't maintain their own MTA setup). >> Alternatively, or perhaps in addition to the list of message-ids, a >> list of URLs to public-inbox.org or gmane messages could also be >> provided for those who prefer to download patches via HTTP. > > Many people around here do not want to repeat the mistake of relying > too much on one provider. Listing Message-IDs may be a good idea, > listing URLs that are tied to one provider is less so. I agree. I've actually thought that it would be useful to mirror a read-only copy of the mailing list on a public newsgroup that could be accessed through a free provider such as eternal-september.org or the Google groups interface. It certainly would reduce the potential losing easy access to the archives of this email list if gmane and public-inbox.org fail. But I suspect doing something like that would potentially increase the spam volume substantially for regular participants/contributors. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-14 3:55 ` Arif Khokar @ 2017-02-14 4:41 ` Junio C Hamano 2017-02-14 5:09 ` Arif Khokar 2017-02-14 5:14 ` Jeff King 0 siblings, 2 replies; 64+ messages in thread From: Junio C Hamano @ 2017-02-14 4:41 UTC (permalink / raw) To: Arif Khokar Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong Arif Khokar <arif.i.khokar@gmail.com> writes: > One concern I have regarding this idea is whether or not SMTP servers > typically replace a Message-Id header set by the client. The clients are supposed to give Message-IDs, but because some clients fail to do so, SMTP server implementations are allowed to add an ID to avoid leaving a message nameless (IIRC, 6.3 in RFC2821). So "replace" would be in violation. But some parts of the world ignore RFCs, so... ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-14 4:41 ` Junio C Hamano @ 2017-02-14 5:09 ` Arif Khokar 2017-02-14 5:14 ` Jeff King 1 sibling, 0 replies; 64+ messages in thread From: Arif Khokar @ 2017-02-14 5:09 UTC (permalink / raw) To: Junio C Hamano, Arif Khokar Cc: Johannes Schindelin, Arif Khokar, Jakub Narębski, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On 02/13/2017 11:41 PM, Junio C Hamano wrote: > Arif Khokar <arif.i.khokar@gmail.com> writes: > >> One concern I have regarding this idea is whether or not SMTP servers >> typically replace a Message-Id header set by the client. > > The clients are supposed to give Message-IDs, but because some > clients fail to do so, SMTP server implementations are allowed to > add an ID to avoid leaving a message nameless (IIRC, 6.3 in > RFC2821). So "replace" would be in violation. > > But some parts of the world ignore RFCs, so... Based on my testing, gmail and comcast (and my work email) will preserve the Message-Id header set by the client, but hotmail.com/live.com/outlook.com will replace it with their generated value. Based on a small sample of email addresses of those who post to this list, it appears that most people are using their own MTA to send email, or are using gmail, so they probably wouldn't be affected by the issue. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2017-02-14 4:41 ` Junio C Hamano 2017-02-14 5:09 ` Arif Khokar @ 2017-02-14 5:14 ` Jeff King 1 sibling, 0 replies; 64+ messages in thread From: Jeff King @ 2017-02-14 5:14 UTC (permalink / raw) To: Junio C Hamano Cc: Arif Khokar, Johannes Schindelin, Arif Khokar, Jakub Narębski, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong On Mon, Feb 13, 2017 at 08:41:51PM -0800, Junio C Hamano wrote: > Arif Khokar <arif.i.khokar@gmail.com> writes: > > > One concern I have regarding this idea is whether or not SMTP servers > > typically replace a Message-Id header set by the client. > > The clients are supposed to give Message-IDs, but because some > clients fail to do so, SMTP server implementations are allowed to > add an ID to avoid leaving a message nameless (IIRC, 6.3 in > RFC2821). So "replace" would be in violation. > > But some parts of the world ignore RFCs, so... I know there are some terrible servers out there, but I think we can discount any such server as horribly broken. Rewriting message-ids would cause threading problems any time the sender referred to their own messages. So "format-patch --thread" would fail to work, and even replying to your own message from your "sent" folder would fail. -Peff ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-19 15:03 ` Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Jeff King 2016-08-20 19:57 ` Jakub Narębski @ 2016-08-22 13:06 ` Johannes Schindelin 2016-08-22 13:15 ` Duy Nguyen 1 sibling, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-22 13:06 UTC (permalink / raw) To: Jeff King; +Cc: Stefan Beller, meta, git@vger.kernel.org, Eric Wong Hi Peff, On Fri, 19 Aug 2016, Jeff King wrote: > On Thu, Aug 18, 2016 at 02:42:34PM +0200, Johannes Schindelin wrote: > > > BTW I take this thread as yet another proof that people are unhappy > > with mail list-based review: if you have to build *that much* tooling > > around it (and Peff & Junio certainly have a megaton of advanced and > > sophisticated tooling around it, holy cow!) it is really incorrect to > > state that the mail list-driven approach works for you. It is much > > closer to the truth to say that the > > mail-list-plus-loads-of-custom-tools-driven approach works for you. > > > > I am really not a fan of this. > > > > The theory "it's inclusive because everyone has access to mail" falls > > on its face, badly, when even old timers have to build entire > > infrastructures around it just to begin to be able to use it > > efficiently. > > > > It reminds me of an old software developer I met long ago, who claimed > > CVS works for him. He had written tens of thousands of lines of shell > > scripts, is what allowed "CVS" to work for him. > > > > Same here. Old dogs claim the mail list-approach works for them. Nope. > > Doesn't. Else you would not have written all those custom scripts. > > I read this over, didn't agree, waited a whole day for perspective, and > still just can't agree. So now I'm responding. :) Thank you for your constructive feedback. Obviously I just can't agree with what you wrote, at least not completely. So after waiting an entire weekend for perspective, here are my thoughts on your comments: > There is nothing wrong with building tooling around your workflow. If we > had a GitHub-based workflow, I'd build tooling around that, too. Sure. You, Junio and myself seem to be kings of scripting. Automating common tasks through scripting is something that allows me to not go completely bunkers with the workload I have. I imagine it is similar on your side. > One of the things I _like_ about a mail-based workflow is how easy it is > to build that tooling, and to get it to integrate with other existing > tools. Here I disagree violently. What I would have agreed to would be a statement similar to "It is easy to integrate scripting with mutt". To be quite frank: we are talking about very different things when we talk about mail-based workflows. Heck, we even talk about gazillions of different things when we talk about an email! Just think about this here email: you might read it written in a font that makes it easy to discern "1" from "l" from "I". For a vast number of people, this is not even true! So what we are talking about here are apples and oranges and apple cider vinegar. Email clients are *so vastly different* from one another, it would be ludicrious to assume that they have anything in common when it comes to "mail-based workflows". As a matter of fact, the thing that you pointed out as the most important ("how easy it is [...] to integrate with other existing tools") does *not* apply for the *vast* majority of email clients, most prominently Outlook, GMail, Apple Mail and Thunderbird. And that mere fact is very, very important to keep in mind. We build Git, which is very, very successful because it fills a need of developers using means that are accessible to many, directly or indirectly (the command-line). Yet, when it comes to contributing to Git's source code, we deviate from the common path and require a means that is *not* accessible to many. We require them to use something different than their regular email client. > It's the major reason I'm resistant to moving development to GitHub. Not > only would I have to throw away all of my tools, but I'm not sure I > could easily build equivalent ones. I am sympathetic to your reasoning (even if I vividly disagree with your assessment that it would be difficult to build tools around the GitHub API, I made quite a couple of such tools myself, and it is quite easy, you can even script it on the command-line using cURL). However, I have to point out that the Git project is really uninviting to contributors, and that this resistance is part of what makes it so. > Now, I am perfectly open to the idea that more of the tooling should be > standardized, so people do not have to build their own. But the major > problem there is that so much of what I've built is about gluing things > together for the rest of _my_ tools. I've shared my techniques and > scripts for using mutt several times, but they don't do somebody a lick > of good if they are using gmail or thunderbird. It is nice of you to share those tools, of course, and you are correct that the specificity of your tools limits their being useful. I, for one, cannot use your mutt-based tools. (I gladly use git-jump now, though, but it is still very limited by its being specific to vim. In other words, both your mutt-based scripts and your git-jump script are limited in their audience just by being so opinionated. This is distinctly different from Git's being unopinionated.) > So I don't really think I have a megaton of tooling. I just have a > little bit of glue to existing tools I was using anyway. Those existing tools are part of that megaton. For the purpose of my argument, they contribute as much to the barrier of entry to contribute easily to Git's source code as anything else in the mail-based workflow. > And I think that is where the disconnect is. If you are not using mutt > already, then it sure seems like a big jump to change your MUA. And I'm > sympathetic to that. But I don't think that means that the mailing-list > approach is not working for me, as you claim in the last paragraph. Okay, let's call it the mailing-list-plus-mutt-plus-glue approach, then. My point stands. We are way more uninviting to contributors than necessary. And a huge part of the problem is that we require contributors to send their patches inlined into whitespace-preserving mails. Personally, I think we can do much better than that. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 13:06 ` Johannes Schindelin @ 2016-08-22 13:15 ` Duy Nguyen 2016-08-22 20:38 ` Philip Oakley 2016-08-27 22:26 ` Jakub Narębski 0 siblings, 2 replies; 64+ messages in thread From: Duy Nguyen @ 2016-08-22 13:15 UTC (permalink / raw) To: Johannes Schindelin Cc: Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong, Jakub Narębski On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > My point stands. We are way more uninviting to contributors than > necessary. And a huge part of the problem is that we require contributors > to send their patches inlined into whitespace-preserving mails. We probably can settle this in the next git survey with a new question: what's stopping you from contributing to git? -- Duy ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 13:15 ` Duy Nguyen @ 2016-08-22 20:38 ` Philip Oakley 2016-08-24 13:04 ` Johannes Schindelin 2016-08-27 22:26 ` Jakub Narębski 1 sibling, 1 reply; 64+ messages in thread From: Philip Oakley @ 2016-08-22 20:38 UTC (permalink / raw) To: Duy Nguyen, Johannes Schindelin Cc: Jeff King, Stefan Beller, meta, git, Eric Wong, Jakub Narębski From: "Duy Nguyen" <pclouds@gmail.com> > On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin > <Johannes.Schindelin@gmx.de> wrote: >> My point stands. We are way more uninviting to contributors than >> necessary. And a huge part of the problem is that we require contributors >> to send their patches inlined into whitespace-preserving mails. > > We probably can settle this in the next git survey with a new > question: what's stopping you from contributing to git? > -- One has to be careful that some of this is preaching to the choir. Those who have difficulty won't be anywhere near the survey. Those that are near the survey will have enough nouce to contribute to the level they manage. Also the argument here has started to be at cross purposes about the issues vs the solutions. I do note that dscho's patches now have the extra footer (below the three dashes) e.g. Published-As: https://github.com/dscho/git/releases/tag/cat-file-filters-v1 Fetch-It-Via: git fetch https://github.com/dscho/git cat-file-filters-v1 If say I used that, and sent my patch series via Outlook Express (<sigh>), with it's white space damage, would those footers help once the content has been reviewed (rather than white spacing style) in the applying the patch? Even, Is there a way of accepting email that has HTML embedded by the client, rather than [vger, etc.] simply deleting the email as 'not acceptable'. Unless users can get past these sort of (to them) petty and awkward restrictions, it's going to continue to be difficult to encourage participation. -- Philip PS Sudden though about the 'Published-As: Fetch-It-Via: ' stuff. I don't think we have a method of 'Fetch-As-A-Series' so that what is received from the server (e.g. GitHub, as a git command equivalent) is just those patches/commits in the series, and the recipient can then see if they apply cleanly at the point they want to apply them? This would almost be a 'pack file' that is all commit deltas, that can be given to say 'rebase' (or 'apply'). It could also be expanded back into an mbox format if required... ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 20:38 ` Philip Oakley @ 2016-08-24 13:04 ` Johannes Schindelin 2016-08-24 19:16 ` Eric Wong 2016-08-25 3:57 ` Arif Khokar 0 siblings, 2 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-24 13:04 UTC (permalink / raw) To: Philip Oakley Cc: Duy Nguyen, Jeff King, Stefan Beller, meta, git, Eric Wong, Jakub Narębski Hi Philip, On Mon, 22 Aug 2016, Philip Oakley wrote: > From: "Duy Nguyen" <pclouds@gmail.com> > > On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin > > <Johannes.Schindelin@gmx.de> wrote: > > > My point stands. We are way more uninviting to contributors than > > > necessary. And a huge part of the problem is that we require contributors > > > to send their patches inlined into whitespace-preserving mails. > > > > We probably can settle this in the next git survey with a new > > question: what's stopping you from contributing to git? > > -- > One has to be careful that some of this is preaching to the choir. Exactly. > I do note that dscho's patches now have the extra footer (below the three > dashes) e.g. > > Published-As: https://github.com/dscho/git/releases/tag/cat-file-filters-v1 > Fetch-It-Via: git fetch https://github.com/dscho/git cat-file-filters-v1 > > If say I used that, and sent my patch series via Outlook Express (<sigh>), > with it's white space damage, would those footers help once the content has > been reviewed (rather than white spacing style) in the applying the patch? I considered recommending this as some way to improve the review process. The problem, of course, is that it is very easy to craft an email with an innocuous patch and then push some malicious patch to the linked repository. Now, with somebody like me who would lose a lot when destroying trust, it is highly unlikely. But it is possible that in between the hundreds of sincere contributors a bad apple tries to sneak in bad stuff. Therefore, if we were to support a Git-driven contribution process that *also* sends mail, that mail needs to be generated by a trusted source, to ensure that the content of the mail is identical to the original Git commits. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 13:04 ` Johannes Schindelin @ 2016-08-24 19:16 ` Eric Wong 2016-08-25 13:08 ` Johannes Schindelin 2016-08-25 3:57 ` Arif Khokar 1 sibling, 1 reply; 64+ messages in thread From: Eric Wong @ 2016-08-24 19:16 UTC (permalink / raw) To: Johannes Schindelin Cc: Philip Oakley, Duy Nguyen, Jeff King, Stefan Beller, meta, git, Jakub Narębski, Arif Khokar Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > On Mon, 22 Aug 2016, Philip Oakley wrote: > > I do note that dscho's patches now have the extra footer (below the three > > dashes) e.g. > > > > Published-As: https://github.com/dscho/git/releases/tag/cat-file-filters-v1 > > Fetch-It-Via: git fetch https://github.com/dscho/git cat-file-filters-v1 > > > > If say I used that, and sent my patch series via Outlook Express (<sigh>), > > with it's white space damage, would those footers help once the content has > > been reviewed (rather than white spacing style) in the applying the patch? > > I considered recommending this as some way to improve the review process. > The problem, of course, is that it is very easy to craft an email with an > innocuous patch and then push some malicious patch to the linked > repository. Perhaps an automated checker of some sort packaged with git would help. (And perhaps combinable with the downloader Arif proposed) > Now, with somebody like me who would lose a lot when destroying trust, it > is highly unlikely. But it is possible that in between the hundreds of > sincere contributors a bad apple tries to sneak in bad stuff. Yes, I would never mix reviews + patch applications of emails vs git-fetched data. Having a sender providing both is good; but the recipient needs to pick one or the other to use exclusively for that series. Either look exclusively at what is fetched and respond to that; or look exclusively at emails and ignore data from git fetch. However, ensuring the emails and the contents of the git fetch could be done optionally to ensure there's no tampering or accidents for other reviewers. > Therefore, if we were to support a Git-driven contribution process that > *also* sends mail, that mail needs to be generated by a trusted source, to > ensure that the content of the mail is identical to the original Git > commits. For decentralized systems, independent reproducibilility is needed. Rather than trusting one source, I'd rather have some sort of downloading + checking tool which checks multiple mirrors (git protocols and NNTP). That would allow users to independently verify the veracity of what they got emailed vs what is fetched. ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 19:16 ` Eric Wong @ 2016-08-25 13:08 ` Johannes Schindelin 0 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-25 13:08 UTC (permalink / raw) To: Eric Wong Cc: Philip Oakley, Duy Nguyen, Jeff King, Stefan Beller, meta, git, Jakub Narębski, Arif Khokar Hi Eric, On Wed, 24 Aug 2016, Eric Wong wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: > > > Now, with somebody like me who would lose a lot when destroying trust, > > it is highly unlikely. But it is possible that in between the hundreds > > of sincere contributors a bad apple tries to sneak in bad stuff. > > Yes, I would never mix reviews + patch applications of emails vs > git-fetched data. Well, such a categorical statement seems to exclude all convenience I had in mind. My idea was that, say, a web service running on a trusted server with a trusted code base could send mails that would be trusted to contain correct SHA-1 information, allowing for a review in the mail, but still use the much, much more convenient Git tools to actually work on the code. I really hope that not everybody is so categorically against introducing much needed convenience. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-24 13:04 ` Johannes Schindelin 2016-08-24 19:16 ` Eric Wong @ 2016-08-25 3:57 ` Arif Khokar 2016-08-25 13:01 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Arif Khokar @ 2016-08-25 3:57 UTC (permalink / raw) To: Johannes Schindelin, Philip Oakley Cc: Duy Nguyen, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong, Jakub Narębski On 08/24/2016 09:04 AM, Johannes Schindelin wrote: > Hi Philip, > > On Mon, 22 Aug 2016, Philip Oakley wrote: >> I do note that dscho's patches now have the extra footer (below the three >> dashes) e.g. >> >> Published-As: https://github.com/dscho/git/releases/tag/cat-file-filters-v1 >> Fetch-It-Via: git fetch https://github.com/dscho/git cat-file-filters-v1 <snip> > I considered recommending this as some way to improve the review process. > The problem, of course, is that it is very easy to craft an email with an > innocuous patch and then push some malicious patch to the linked > repository. It should be possible to verify the SHA1 of the blob before and after the patch is applied given the values listed near the beginning of the git diff output. So, for instance, if I apply the malicious patch to my local repository, the SHA1 of the resulting blob would not match what was listed in at least one of the diffs. But whether that is sufficient for verification depends on the work flow. Are patches typically applied on the blob that corresponds to the first SHA1 value listed in the diff for that file? ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-25 3:57 ` Arif Khokar @ 2016-08-25 13:01 ` Johannes Schindelin 2016-08-25 23:14 ` Arif Khokar 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-25 13:01 UTC (permalink / raw) To: Arif Khokar Cc: Philip Oakley, Duy Nguyen, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong, Jakub Narębski Hi Arif, On Thu, 25 Aug 2016, Arif Khokar wrote: > On 08/24/2016 09:04 AM, Johannes Schindelin wrote: > > > > On Mon, 22 Aug 2016, Philip Oakley wrote: > > >> I do note that dscho's patches now have the extra footer (below the > >> three dashes) e.g. > >> > >> Published-As: https://github.com/dscho/git/releases/tag/cat-file-filters-v1 > >> Fetch-It-Via: git fetch https://github.com/dscho/git cat-file-filters-v1 > > <snip> > > > I considered recommending this as some way to improve the review process. > > The problem, of course, is that it is very easy to craft an email with an > > innocuous patch and then push some malicious patch to the linked > > repository. > > It should be possible to verify the SHA1 of the blob before and after > the patch is applied given the values listed near the beginning of the > git diff output. There is no guarantee that the SHA-1 has not been tampered with. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-25 13:01 ` Johannes Schindelin @ 2016-08-25 23:14 ` Arif Khokar 2016-08-26 8:08 ` Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Arif Khokar @ 2016-08-25 23:14 UTC (permalink / raw) To: Johannes Schindelin, Arif Khokar Cc: Philip Oakley, Duy Nguyen, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong, Jakub Narębski On 08/25/2016 09:01 AM, Johannes Schindelin wrote: > Hi Arif, > > On Thu, 25 Aug 2016, Arif Khokar wrote: >>> I considered recommending this as some way to improve the review process. >>> The problem, of course, is that it is very easy to craft an email with an >>> innocuous patch and then push some malicious patch to the linked >>> repository. >> >> It should be possible to verify the SHA1 of the blob before and after >> the patch is applied given the values listed near the beginning of the >> git diff output. > > There is no guarantee that the SHA-1 has not been tampered with. I was implying that the resulting SHA1 of the blob after the malicious patch was applied would differ compared to the resulting blob after applying the innocuous patch. Even if you alter the SHA1 value within the patch itself, it doesn't change the SHA1 of the result (unless you're able to get a hash collision). But, if you want to guarantee that the SHA1 hasn't been tampered in the email, you could sign it with your private GPG key and others could verify the signature with your public key (assuming the web-of-trust applies). ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-25 23:14 ` Arif Khokar @ 2016-08-26 8:08 ` Johannes Schindelin 0 siblings, 0 replies; 64+ messages in thread From: Johannes Schindelin @ 2016-08-26 8:08 UTC (permalink / raw) To: Arif Khokar Cc: Philip Oakley, Duy Nguyen, Jeff King, Stefan Beller, meta@public-inbox.org, git@vger.kernel.org, Eric Wong, Jakub Narębski Hi Arif, On Thu, 25 Aug 2016, Arif Khokar wrote: > On 08/25/2016 09:01 AM, Johannes Schindelin wrote: > > > > On Thu, 25 Aug 2016, Arif Khokar wrote: > > >>> I considered recommending this as some way to improve the review > >>> process. The problem, of course, is that it is very easy to craft > >>> an email with an innocuous patch and then push some malicious patch > >>> to the linked repository. > >> > >> It should be possible to verify the SHA1 of the blob before and after > >> the patch is applied given the values listed near the beginning of > >> the git diff output. > > > > There is no guarantee that the SHA-1 has not been tampered with. > > I was implying that the resulting SHA1 of the blob after the malicious > patch was applied would differ compared to the resulting blob after > applying the innocuous patch. Even if you alter the SHA1 value within > the patch itself, it doesn't change the SHA1 of the result (unless > you're able to get a hash collision). > > But, if you want to guarantee that the SHA1 hasn't been tampered in the > email, you could sign it with your private GPG key and others could > verify the signature with your public key (assuming the web-of-trust > applies). Given that I try to convince my fellow core Git developers to adopt an *easier* patch submission process, that wastes less of contributors' time, I would be strongly opposed to requiring a web of trust and GPG signatures just to be able to submit patches to git.git. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-22 13:15 ` Duy Nguyen 2016-08-22 20:38 ` Philip Oakley @ 2016-08-27 22:26 ` Jakub Narębski 2016-08-28 8:38 ` Johannes Schindelin 1 sibling, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-27 22:26 UTC (permalink / raw) To: Duy Nguyen, Johannes Schindelin Cc: Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong W dniu 22.08.2016 o 15:15, Duy Nguyen pisze: > On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin > <Johannes.Schindelin@gmx.de> wrote: >> >> My point stands. We are way more uninviting to contributors than >> necessary. And a huge part of the problem is that we require contributors >> to send their patches inlined into whitespace-preserving mails. > > We probably can settle this in the next git survey with a new > question: what's stopping you from contributing to git? Added to second take on proposed questions for Git User's Survey 2016 https://public-inbox.org/git/ae804c55-d145-fc90-e1a9-6ebd6c60453a@gmail.com/T/#u '[RFCv2] Proposed questions for "Git User's Survey 2016", take two' Message-ID: <91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com> -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] 2016-08-27 22:26 ` Jakub Narębski @ 2016-08-28 8:38 ` Johannes Schindelin 2016-08-28 13:45 ` Announcing Git User's Survey 2016 [was: Working with public-inbox.org] Jakub Narębski 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-08-28 8:38 UTC (permalink / raw) To: Jakub Narębski Cc: Duy Nguyen, Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong [-- Attachment #1: Type: text/plain, Size: 1148 bytes --] Hi Kuba & Duy, On Sun, 28 Aug 2016, Jakub Narębski wrote: > W dniu 22.08.2016 o 15:15, Duy Nguyen pisze: > > On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin > > <Johannes.Schindelin@gmx.de> wrote: > >> > >> My point stands. We are way more uninviting to contributors than > >> necessary. And a huge part of the problem is that we require contributors > >> to send their patches inlined into whitespace-preserving mails. > > > > We probably can settle this in the next git survey with a new > > question: what's stopping you from contributing to git? > > Added to second take on proposed questions for Git User's Survey 2016 > https://public-inbox.org/git/ae804c55-d145-fc90-e1a9-6ebd6c60453a@gmail.com/T/#u > '[RFCv2] Proposed questions for "Git User's Survey 2016", take two' > > Message-ID: <91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com> I would like to strongly caution against putting too much stock into this users' survey. It is the best we have, granted. Yet I have not heard from anybody that they participated in the survey, unless they were also subscribed to the Git mailing list. Ciao, Johannes ^ permalink raw reply [flat|nested] 64+ messages in thread
* Announcing Git User's Survey 2016 [was: Working with public-inbox.org] 2016-08-28 8:38 ` Johannes Schindelin @ 2016-08-28 13:45 ` Jakub Narębski 2016-09-09 13:06 ` Johannes Schindelin 0 siblings, 1 reply; 64+ messages in thread From: Jakub Narębski @ 2016-08-28 13:45 UTC (permalink / raw) To: Johannes Schindelin Cc: Duy Nguyen, Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong Hello Johannes, W dniu 28.08.2016 o 10:38, Johannes Schindelin pisze: > On Sun, 28 Aug 2016, Jakub Narębski wrote: >> W dniu 22.08.2016 o 15:15, Duy Nguyen pisze: >>> On Mon, Aug 22, 2016 at 8:06 PM, Johannes Schindelin >>> <Johannes.Schindelin@gmx.de> wrote: >>>> >>>> My point stands. We are way more uninviting to contributors than >>>> necessary. And a huge part of the problem is that we require contributors >>>> to send their patches inlined into whitespace-preserving mails. >>> >>> We probably can settle this in the next git survey with a new >>> question: what's stopping you from contributing to git? >> >> Added to second take on proposed questions for Git User's Survey 2016 >> https://public-inbox.org/git/ae804c55-d145-fc90-e1a9-6ebd6c60453a@gmail.com/T/#u >> '[RFCv2] Proposed questions for "Git User's Survey 2016", take two' >> >> Message-ID: <91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com> > > I would like to strongly caution against putting too much stock into this > users' survey. It is the best we have, granted. Yet I have not heard from > anybody that they participated in the survey, unless they were also > subscribed to the Git mailing list. I tried in past and will try for this year Git User's Survey to be announced more widely than just Git mailing list (git@vger.kernel.org). And I think it was successful; we had 6385 responses in the survey from 2012 (the one without analysis on Git Wiki) - the last one, the maximum of responses we had was 11498 responses in 2011. This is almost an order of magnitude more than number of past and current contributors ("git shortlog -s | wc -l"), and I think much more than all current readers and watchers of Git mailing list. In 2011 there was "How did you hear about this Git User's Survey?" question at the end (with 7022 responses out of 11498); most popular answers were - news web site or social news site (e.g. Digg, Reddit) 1592 / 22.7% - git hosting site 1315 / 18.7% - other - please specify 1287 / 18.3% (which was not git mailing list) ... - git mailing list 230 / 3.3% - git-related mailing list (msysGit, ...) 53 / 0.8% https://git.wiki.kernel.org/index.php/GitSurvey2011#35._How_did_you_hear_about_this_Git_User.27s_Survey.3F In 2012 I have used different channels for different announcements; examining channel list shows that Git Homepage one was most used. This does not mean that people who selected those answers, or used that channels do not read git mailing list; they might just find the news somewhere else first. Also, "Which communication channel(s) do you use?" in 2011, there were only 387 responders who selected git@vger.kernel.org out of 11498 in total (and out of 1018 people who selected at least one answer in this question). Though some people might though lurking is not use... https://git.wiki.kernel.org/index.php/GitSurvey2011#32._Which_communication_channel.28s.29_do_you_use.3F I am not saying that there would be no bias in Git User's Survey 2016 responses. I agree with you that we should take caution when analyzing results of "What's stopping you from contributing to Git?" question. But it might be nor as bad as you fear. That said, where should Git User's Survey 2016 be announced? The ones that should be easy are: - Git mailing list, and related lists - #git IRC channel, and its description (and other IRC channels) - Git page on Google+ - Git Homepage - Git Wiki - Git Rev News The ones that would be harder are git hosting sites, among others the GitHub blog. The ones that would be quite difficult are news sites and news aggregation sites, such as LWN.net or HackerNews. Where else? Thanks in advance, -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Announcing Git User's Survey 2016 [was: Working with public-inbox.org] 2016-08-28 13:45 ` Announcing Git User's Survey 2016 [was: Working with public-inbox.org] Jakub Narębski @ 2016-09-09 13:06 ` Johannes Schindelin 2016-09-09 18:51 ` Jakub Narębski 0 siblings, 1 reply; 64+ messages in thread From: Johannes Schindelin @ 2016-09-09 13:06 UTC (permalink / raw) To: Jakub Narębski Cc: Duy Nguyen, Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong [-- Attachment #1: Type: text/plain, Size: 1201 bytes --] Hi Kuba, On Sun, 28 Aug 2016, Jakub Narębski wrote: > W dniu 28.08.2016 o 10:38, Johannes Schindelin pisze: > > > I would like to strongly caution against putting too much stock into > > this users' survey. It is the best we have, granted. Yet I have not > > heard from anybody that they participated in the survey, unless they > > were also subscribed to the Git mailing list. > > I tried in past and will try for this year Git User's Survey to be > announced more widely than just Git mailing list (git@vger.kernel.org). I did not mean to criticise you. I think you are doing the best you can, and it is valuable. My point is: many professional developers use Git not necessarily because they want to, but because their day job requires them to do so. I *highly* doubt that we reach a notable fraction of those developers, even if they are arguably power users of any development tool, including Git. The question is not so much how to advertise the survey. I skip almost all surveys I am asked to participate in, because I am just a little bit busy all the time. I feel that my colleagues do the same. Unless forced to take a survey, they skip it. Ciao, Dscho ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: Announcing Git User's Survey 2016 [was: Working with public-inbox.org] 2016-09-09 13:06 ` Johannes Schindelin @ 2016-09-09 18:51 ` Jakub Narębski 0 siblings, 0 replies; 64+ messages in thread From: Jakub Narębski @ 2016-09-09 18:51 UTC (permalink / raw) To: Johannes Schindelin Cc: Duy Nguyen, Jeff King, Stefan Beller, meta, git@vger.kernel.org, Eric Wong Hello Johannes, W dniu 09.09.2016 o 15:06, Johannes Schindelin napisał: > On Sun, 28 Aug 2016, Jakub Narębski wrote: >> W dniu 28.08.2016 o 10:38, Johannes Schindelin pisze: >> >>> I would like to strongly caution against putting too much stock into >>> this users' survey. It is the best we have, granted. Yet I have not >>> heard from anybody that they participated in the survey, unless they >>> were also subscribed to the Git mailing list. >> >> I tried in past and will try for this year Git User's Survey to be >> announced more widely than just Git mailing list (git@vger.kernel.org). > > I did not mean to criticise you. I think you are doing the best you can, > and it is valuable. [...] > > The question is not so much how to advertise the survey. I skip almost all > surveys I am asked to participate in, because I am just a little bit busy > all the time. I feel that my colleagues do the same. Unless forced to take > a survey, they skip it. Right, that's a problem. Thanks for reminding me. I hope that the fact that by default (via the use of cookies) you can return to Survs.com survey at later time (assuming that you do it from the same computer and the same web browser), and continue responding. Taking 30 minutes or more at once may be a problem, taking 10 x 3 minutes may not be. But I won't have too much hope... -- Jakub Narębski ^ permalink raw reply [flat|nested] 64+ messages in thread
end of thread, other threads:[~2017-02-14 7:13 UTC | newest] Thread overview: 64+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-08-16 16:55 Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Stefan Beller 2016-08-16 17:10 ` Junio C Hamano 2016-08-16 17:20 ` Jeff King 2016-08-16 17:54 ` Junio C Hamano 2016-08-16 17:22 ` Stefan Beller 2016-08-16 17:47 ` Junio C Hamano 2016-08-16 20:44 ` Eric Wong 2016-08-16 20:56 ` Eric Wong 2016-08-18 12:42 ` Johannes Schindelin 2016-08-18 20:49 ` Eric Wong 2016-08-18 21:41 ` Junio C Hamano 2016-08-19 15:18 ` Johannes Schindelin 2016-08-19 15:30 ` Johannes Schindelin 2016-08-19 16:55 ` Stefan Beller 2016-08-19 22:35 ` Eric Wong 2016-08-22 13:38 ` Johannes Schindelin 2016-08-22 19:21 ` Jeff King 2016-08-19 22:35 ` Eric Wong 2016-08-22 13:18 ` Johannes Schindelin 2016-08-22 18:05 ` Jakub Narębski 2016-08-25 13:21 ` Johannes Schindelin 2016-08-28 18:23 ` Jakub Narębski 2016-08-29 10:46 ` Johannes Schindelin 2016-08-22 22:55 ` Eric Wong 2016-08-25 12:58 ` Johannes Schindelin 2016-08-27 22:38 ` Jakub Narębski 2016-08-28 8:36 ` Working with public-inbox.org Johannes Schindelin 2016-08-28 11:41 ` Jakub Narębski 2016-08-29 5:35 ` Johannes Schindelin 2016-08-19 15:03 ` Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path] Jeff King 2016-08-20 19:57 ` Jakub Narębski 2016-08-23 4:47 ` Arif Khokar 2016-08-24 15:34 ` Johannes Schindelin 2016-08-24 18:49 ` Eric Wong 2016-08-24 19:12 ` Jeff King 2016-08-24 19:27 ` Eric Wong 2016-08-25 3:40 ` Arif Khokar 2016-08-25 2:41 ` Arif Khokar 2017-02-10 16:10 ` Johannes Schindelin 2017-02-13 5:52 ` Arif Khokar 2017-02-13 14:37 ` Johannes Schindelin 2017-02-14 3:56 ` Arif Khokar 2017-02-14 3:59 ` Arif Khokar 2017-02-14 7:13 ` Eric Wong 2017-02-13 19:21 ` Junio C Hamano 2017-02-14 3:55 ` Arif Khokar 2017-02-14 4:41 ` Junio C Hamano 2017-02-14 5:09 ` Arif Khokar 2017-02-14 5:14 ` Jeff King 2016-08-22 13:06 ` Johannes Schindelin 2016-08-22 13:15 ` Duy Nguyen 2016-08-22 20:38 ` Philip Oakley 2016-08-24 13:04 ` Johannes Schindelin 2016-08-24 19:16 ` Eric Wong 2016-08-25 13:08 ` Johannes Schindelin 2016-08-25 3:57 ` Arif Khokar 2016-08-25 13:01 ` Johannes Schindelin 2016-08-25 23:14 ` Arif Khokar 2016-08-26 8:08 ` Johannes Schindelin 2016-08-27 22:26 ` Jakub Narębski 2016-08-28 8:38 ` Johannes Schindelin 2016-08-28 13:45 ` Announcing Git User's Survey 2016 [was: Working with public-inbox.org] Jakub Narębski 2016-09-09 13:06 ` Johannes Schindelin 2016-09-09 18:51 ` Jakub Narębski
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).