git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / Atom feed
* [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
@ 2019-11-23 19:56 Nika Layzell via GitGitGadget
  2019-11-23 19:56 ` [PATCH 1/1] " Nika Layzell via GitGitGadget
  2019-11-24  6:01 ` [PATCH 0/1] " Junio C Hamano
  0 siblings, 2 replies; 20+ messages in thread
From: Nika Layzell via GitGitGadget @ 2019-11-23 19:56 UTC (permalink / raw)
  To: git; +Cc: Nika Layzell, Junio C Hamano

The refresh command is called from git-add--interactive to ensure that git's
view of the worktree is up-to-date. This is necessary for most commands
which use git-add--interactive, as they are interacting with the worktree,
however it's not necessary for git-reset, which exclusively operates on the
index. This patch skips the refresh call when performing a git-reset -p,
which can improve performance on large repositories which have out-of-date,
or no, caches of the current worktree state.

I chose to use the existing FILTER property of the flavour to make this
decision. A separate REFRESH property could be added instead.

Nika Layzell (1):
  add--interactive: skip index refresh in reset patch mode

 git-add--interactive.perl | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


base-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-475%2Fmystor%2Findex-only-refresh-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-475/mystor/index-only-refresh-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/475
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH 1/1] add--interactive: skip index refresh in reset patch mode
  2019-11-23 19:56 [PATCH 0/1] add--interactive: skip index refresh in reset patch mode Nika Layzell via GitGitGadget
@ 2019-11-23 19:56 ` Nika Layzell via GitGitGadget
  2019-11-24  6:01 ` [PATCH 0/1] " Junio C Hamano
  1 sibling, 0 replies; 20+ messages in thread
From: Nika Layzell via GitGitGadget @ 2019-11-23 19:56 UTC (permalink / raw)
  To: git; +Cc: Nika Layzell, Junio C Hamano, Nika Layzell

From: Nika Layzell <nika@thelayzells.com>

Uses the FILTER flag on patch flavours in git-add--interactive to
determine if the initial index refresh call is required. It is not
required for the reset patch modes, which use the 'index-only' filter,
as they do not interact with the worktree, so do not need up-to-date
stat information.

The refresh call can be quite expensive, especially on larger
checkouts or with a freshly created index file.

Signed-off-by: Nika Layzell <nika@thelayzells.com>
---
 git-add--interactive.perl | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index c20ae9e210..cd435b197f 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1861,7 +1861,9 @@ sub main_loop {
 }
 
 process_args();
-refresh();
+if ($patch_mode_flavour{FILTER} ne 'index-only') {
+	refresh();
+}
 if ($patch_mode_only) {
 	patch_update_cmd();
 }
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-23 19:56 [PATCH 0/1] add--interactive: skip index refresh in reset patch mode Nika Layzell via GitGitGadget
  2019-11-23 19:56 ` [PATCH 1/1] " Nika Layzell via GitGitGadget
@ 2019-11-24  6:01 ` Junio C Hamano
  2019-11-25 14:24   ` Johannes Schindelin
  1 sibling, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2019-11-24  6:01 UTC (permalink / raw)
  To: Nika Layzell via GitGitGadget; +Cc: git, Nika Layzell, Johannes Schindelin

"Nika Layzell via GitGitGadget" <gitgitgadget@gmail.com> writes:

> The refresh command is called from git-add--interactive to ensure that git's
> view of the worktree is up-to-date. This is necessary for most commands
> which use git-add--interactive, as they are interacting with the worktree,
> however it's not necessary for git-reset, which exclusively operates on the
> index. This patch skips the refresh call when performing a git-reset -p,
> which can improve performance on large repositories which have out-of-date,
> or no, caches of the current worktree state.
>
> I chose to use the existing FILTER property of the flavour to make this
> decision. A separate REFRESH property could be added instead.

Hmph, I wonder why this was sent my way.  How does GGG determine
whom to send patches to?  I, like other reviewers, prefer not to see
earlier rounds of patches sent directly to me unless they are about
areas that I am mostly responsible for (other patches I'll see them
and review them on the copies sent to the mailing list anyway).

CC'ing Dscho who has stakes in keeping the scripted "add -i" frozen,
while he is rewriting it in C.

Thanks.

>
> Nika Layzell (1):
>   add--interactive: skip index refresh in reset patch mode
>
>  git-add--interactive.perl | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
>
> base-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-475%2Fmystor%2Findex-only-refresh-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-475/mystor/index-only-refresh-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/475

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-24  6:01 ` [PATCH 0/1] " Junio C Hamano
@ 2019-11-25 14:24   ` Johannes Schindelin
  2019-11-25 14:45     ` Johannes Schindelin
  2019-11-26  1:12     ` Junio C Hamano
  0 siblings, 2 replies; 20+ messages in thread
From: Johannes Schindelin @ 2019-11-25 14:24 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Junio,

On Sun, 24 Nov 2019, Junio C Hamano wrote:

> "Nika Layzell via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
> > The refresh command is called from git-add--interactive to ensure that git's
> > view of the worktree is up-to-date. This is necessary for most commands
> > which use git-add--interactive, as they are interacting with the worktree,
> > however it's not necessary for git-reset, which exclusively operates on the
> > index. This patch skips the refresh call when performing a git-reset -p,
> > which can improve performance on large repositories which have out-of-date,
> > or no, caches of the current worktree state.
> >
> > I chose to use the existing FILTER property of the flavour to make this
> > decision. A separate REFRESH property could be added instead.
>
> Hmph, I wonder why this was sent my way.  How does GGG determine
> whom to send patches to?  I, like other reviewers, prefer not to see
> earlier rounds of patches sent directly to me unless they are about
> areas that I am mostly responsible for (other patches I'll see them
> and review them on the copies sent to the mailing list anyway).
>
> CC'ing Dscho who has stakes in keeping the scripted "add -i" frozen,
> while he is rewriting it in C.

Thanks for pinging me!

As it were, I was aware of this effort, and I am quite happy about it (and
of course I will adjust my patch series accordingly).

Thank you,
Dscho

>
> Thanks.
>
> >
> > Nika Layzell (1):
> >   add--interactive: skip index refresh in reset patch mode
> >
> >  git-add--interactive.perl | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> >
> > base-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9
> > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-475%2Fmystor%2Findex-only-refresh-v1
> > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-475/mystor/index-only-refresh-v1
> > Pull-Request: https://github.com/gitgitgadget/git/pull/475
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-25 14:24   ` Johannes Schindelin
@ 2019-11-25 14:45     ` Johannes Schindelin
  2019-11-26  1:13       ` Junio C Hamano
  2019-11-26  1:12     ` Junio C Hamano
  1 sibling, 1 reply; 20+ messages in thread
From: Johannes Schindelin @ 2019-11-25 14:45 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Junio,

On Mon, 25 Nov 2019, Johannes Schindelin wrote:

> On Sun, 24 Nov 2019, Junio C Hamano wrote:
>
> > "Nika Layzell via GitGitGadget" <gitgitgadget@gmail.com> writes:
> >
> > > The refresh command is called from git-add--interactive to ensure that git's
> > > view of the worktree is up-to-date. This is necessary for most commands
> > > which use git-add--interactive, as they are interacting with the worktree,
> > > however it's not necessary for git-reset, which exclusively operates on the
> > > index. This patch skips the refresh call when performing a git-reset -p,
> > > which can improve performance on large repositories which have out-of-date,
> > > or no, caches of the current worktree state.
> > >
> > > I chose to use the existing FILTER property of the flavour to make this
> > > decision. A separate REFRESH property could be added instead.
> >
> > Hmph, I wonder why this was sent my way.  How does GGG determine
> > whom to send patches to?  I, like other reviewers, prefer not to see
> > earlier rounds of patches sent directly to me unless they are about
> > areas that I am mostly responsible for (other patches I'll see them
> > and review them on the copies sent to the mailing list anyway).

Oops, I forgot to address this. The reason why this is sent your way is
that you are the Git maintainer, and as such, GitGitGadget sends _all_ Git
patches your way (except the Git GUI ones).

The reason for this is that this is the suggested way, as per
https://git-scm.com/docs/SubmittingPatches#patch-flow:

> 5. The list forms consensus that the last round of your patch is good. Send
>    it to the maintainer and cc the list.

Ciao,
Dscho

> > CC'ing Dscho who has stakes in keeping the scripted "add -i" frozen,
> > while he is rewriting it in C.
>
> Thanks for pinging me!
>
> As it were, I was aware of this effort, and I am quite happy about it (and
> of course I will adjust my patch series accordingly).
>
> Thank you,
> Dscho
>
> >
> > Thanks.
> >
> > >
> > > Nika Layzell (1):
> > >   add--interactive: skip index refresh in reset patch mode
> > >
> > >  git-add--interactive.perl | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > >
> > > base-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9
> > > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-475%2Fmystor%2Findex-only-refresh-v1
> > > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-475/mystor/index-only-refresh-v1
> > > Pull-Request: https://github.com/gitgitgadget/git/pull/475
> >
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-25 14:24   ` Johannes Schindelin
  2019-11-25 14:45     ` Johannes Schindelin
@ 2019-11-26  1:12     ` Junio C Hamano
  1 sibling, 0 replies; 20+ messages in thread
From: Junio C Hamano @ 2019-11-26  1:12 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Nika Layzell via GitGitGadget, git, Nika Layzell

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>> CC'ing Dscho who has stakes in keeping the scripted "add -i" frozen,
>> while he is rewriting it in C.
>
> Thanks for pinging me!
>
> As it were, I was aware of this effort, and I am quite happy about it (and
> of course I will adjust my patch series accordingly).

Thanks, both.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-25 14:45     ` Johannes Schindelin
@ 2019-11-26  1:13       ` Junio C Hamano
  2021-01-07 14:18         ` Cc'ing the Git maintainer on GitGitGadget contributions, was " Johannes Schindelin
  0 siblings, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2019-11-26  1:13 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Nika Layzell via GitGitGadget, git, Nika Layzell

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>> > Hmph, I wonder why this was sent my way.  How does GGG determine
>> > whom to send patches to?  I, like other reviewers, prefer not to see
>> > earlier rounds of patches sent directly to me unless they are about
>> > areas that I am mostly responsible for (other patches I'll see them
>> > and review them on the copies sent to the mailing list anyway).
>
> Oops, I forgot to address this. The reason why this is sent your way is
> that you are the Git maintainer, and as such, GitGitGadget sends _all_ Git
> patches your way (except the Git GUI ones).
>
> The reason for this is that this is the suggested way, as per
> https://git-scm.com/docs/SubmittingPatches#patch-flow:
>
>> 5. The list forms consensus that the last round of your patch is good. Send
>>    it to the maintainer and cc the list.

Yeah, but as far as I can tell, this is the _first_ round the list
sees this topic, which by definition would not have any consensus
;-)

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2019-11-26  1:13       ` Junio C Hamano
@ 2021-01-07 14:18         ` Johannes Schindelin
  2021-01-07 14:57           ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 20+ messages in thread
From: Johannes Schindelin @ 2021-01-07 14:18 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Junio,

On Tue, 26 Nov 2019, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> >> > Hmph, I wonder why this was sent my way.  How does GGG determine
> >> > whom to send patches to?  I, like other reviewers, prefer not to see
> >> > earlier rounds of patches sent directly to me unless they are about
> >> > areas that I am mostly responsible for (other patches I'll see them
> >> > and review them on the copies sent to the mailing list anyway).
> >
> > Oops, I forgot to address this. The reason why this is sent your way is
> > that you are the Git maintainer, and as such, GitGitGadget sends _all_ Git
> > patches your way (except the Git GUI ones).
> >
> > The reason for this is that this is the suggested way, as per
> > https://git-scm.com/docs/SubmittingPatches#patch-flow:
> >
> >> 5. The list forms consensus that the last round of your patch is good. Send
> >>    it to the maintainer and cc the list.
>
> Yeah, but as far as I can tell, this is the _first_ round the list
> sees this topic, which by definition would not have any consensus
> ;-)

I thought about it for over a year and still have no clue how we could
teach GitGitGadget to Cc: you when it is appropriate, not without putting
the burden on any human being.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-07 14:18         ` Cc'ing the Git maintainer on GitGitGadget contributions, was " Johannes Schindelin
@ 2021-01-07 14:57           ` Ævar Arnfjörð Bjarmason
  2021-01-07 16:20             ` Johannes Schindelin
  0 siblings, 1 reply; 20+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2021-01-07 14:57 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Junio C Hamano, Nika Layzell via GitGitGadget, git, Nika Layzell


On Thu, Jan 07 2021, Johannes Schindelin wrote:

> Hi Junio,
>
> On Tue, 26 Nov 2019, Junio C Hamano wrote:
>
>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>>
>> >> > Hmph, I wonder why this was sent my way.  How does GGG determine
>> >> > whom to send patches to?  I, like other reviewers, prefer not to see
>> >> > earlier rounds of patches sent directly to me unless they are about
>> >> > areas that I am mostly responsible for (other patches I'll see them
>> >> > and review them on the copies sent to the mailing list anyway).
>> >
>> > Oops, I forgot to address this. The reason why this is sent your way is
>> > that you are the Git maintainer, and as such, GitGitGadget sends _all_ Git
>> > patches your way (except the Git GUI ones).
>> >
>> > The reason for this is that this is the suggested way, as per
>> > https://git-scm.com/docs/SubmittingPatches#patch-flow:
>> >
>> >> 5. The list forms consensus that the last round of your patch is good. Send
>> >>    it to the maintainer and cc the list.
>>
>> Yeah, but as far as I can tell, this is the _first_ round the list
>> sees this topic, which by definition would not have any consensus
>> ;-)
>
> I thought about it for over a year and still have no clue how we could
> teach GitGitGadget to Cc: you when it is appropriate, not without putting
> the burden on any human being.

That message is from November 2019, didn't you later fix this in January
2020 here: https://github.com/gitgitgadget/gitgitgadget/commit/b2221f4 ?

I.e. now users need to explicitly add "cc: gitster@pobox.com" to the
description, no? So isn't in the same as for us who use the
format-patch/send-email flow in this regard?

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-07 14:57           ` Ævar Arnfjörð Bjarmason
@ 2021-01-07 16:20             ` Johannes Schindelin
  2021-01-07 21:25               ` Junio C Hamano
  0 siblings, 1 reply; 20+ messages in thread
From: Johannes Schindelin @ 2021-01-07 16:20 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Nika Layzell via GitGitGadget, git, Nika Layzell

[-- Attachment #1: Type: text/plain, Size: 2193 bytes --]

Hi Ævar,

On Thu, 7 Jan 2021, Ævar Arnfjörð Bjarmason wrote:

> On Thu, Jan 07 2021, Johannes Schindelin wrote:
>
> > Hi Junio,
> >
> > On Tue, 26 Nov 2019, Junio C Hamano wrote:
> >
> >> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> >>
> >> >> > Hmph, I wonder why this was sent my way.  How does GGG determine
> >> >> > whom to send patches to?  I, like other reviewers, prefer not to see
> >> >> > earlier rounds of patches sent directly to me unless they are about
> >> >> > areas that I am mostly responsible for (other patches I'll see them
> >> >> > and review them on the copies sent to the mailing list anyway).
> >> >
> >> > Oops, I forgot to address this. The reason why this is sent your way is
> >> > that you are the Git maintainer, and as such, GitGitGadget sends _all_ Git
> >> > patches your way (except the Git GUI ones).
> >> >
> >> > The reason for this is that this is the suggested way, as per
> >> > https://git-scm.com/docs/SubmittingPatches#patch-flow:
> >> >
> >> >> 5. The list forms consensus that the last round of your patch is good. Send
> >> >>    it to the maintainer and cc the list.
> >>
> >> Yeah, but as far as I can tell, this is the _first_ round the list
> >> sees this topic, which by definition would not have any consensus
> >> ;-)
> >
> > I thought about it for over a year and still have no clue how we could
> > teach GitGitGadget to Cc: you when it is appropriate, not without putting
> > the burden on any human being.
>
> That message is from November 2019, didn't you later fix this in January
> 2020 here: https://github.com/gitgitgadget/gitgitgadget/commit/b2221f4 ?

I would not call that a fix. As mentioned, I could not come up with a way
to Cc: Junio only when appropriate in a way that wouldn't surprise new
users. So yes, I disabled the auto-Cc:ing, with no appropriate
replacement.

> I.e. now users need to explicitly add "cc: gitster@pobox.com" to the
> description, no? So isn't in the same as for us who use the
> format-patch/send-email flow in this regard?

Right. And that is... intuitive? If you have to read the manual, the
design is broken.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-07 16:20             ` Johannes Schindelin
@ 2021-01-07 21:25               ` Junio C Hamano
  2021-01-08 14:56                 ` Johannes Schindelin
  0 siblings, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2021-01-07 21:25 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> I would not call that a fix. As mentioned, I could not come up with a way
> to Cc: Junio only when appropriate in a way that wouldn't surprise new
> users. So yes, I disabled the auto-Cc:ing, with no appropriate
> replacement.
>
>> I.e. now users need to explicitly add "cc: gitster@pobox.com" to the
>> description, no? So isn't in the same as for us who use the
>> format-patch/send-email flow in this regard?
>
> Right. And that is... intuitive? If you have to read the manual, the
> design is broken.

Let's step back and think when a patch submitter wants to CC
anybody.  People explicitly Cc area experts when touching certain
part of the codebase, so that they can ask for their input.  People
also explicitly Cc the maintainer when they see the reviewers
reached a consensus that it is a good idea to apply the patch.
These CC has value only because they came from conscious decision
by the submitter---they actively asks for help and that nudges the
recipient of CC to help them.

Even without such Cc:, stakeholders (both area experts and the
maintainer) often notice noteworthy patches and discussions, so
between having CC that is thrown around freely without thought and
crowds recipient's inbox and not having such thoughtless CC at all,
the latter is vastly preferred.  The former just diminishes the
value of Cc that are added manually by thoughtful people.  

In short, "now users need to explicitly add" is a GOOD thing.  

The best is to have only thoughtful CC, the second best is not to
have automated CC at all, and the worst is always throw automated CC
to hurt others who try to make CC mean something by making judicious
use of it.

Having said all that.

We may not be able to automate the thinking part to decide when
submitter may want to get help, but an automation can help by giving
the submitter cues and clues when to ask for help and from whom.

Is there a point in the end-user experience flow, starting at the
time when they push their proposed change to their repository, throw
a pull request at GitHub, say "/submit", and then GGG finally sends
out a patch e-mail, where the GGG machinery can inspect the change
and give the user (preferrably before the user says /submit) a hint
that says "you may want to add Cc: to these people in such and such
case, and if you think the situation falls into these cases, tell me
so by saying /submit-with-suggested-cc instead of the usual
/submit"?

And "these people" may include those who touched the affected code
within the past 6 months, and it may also include the maintainer
when the pull request is in its second or later iteration.

Thanks.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-07 21:25               ` Junio C Hamano
@ 2021-01-08 14:56                 ` Johannes Schindelin
  2021-01-08 19:48                   ` Junio C Hamano
  2021-01-08 20:08                   ` Taylor Blau
  0 siblings, 2 replies; 20+ messages in thread
From: Johannes Schindelin @ 2021-01-08 14:56 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Junio,

On Thu, 7 Jan 2021, Junio C Hamano wrote:

> We may not be able to automate the thinking part to decide when
> submitter may want to get help, but an automation can help by giving
> the submitter cues and clues when to ask for help and from whom.

I fear that we're striking the balance on the side of expecting too much
knowledge about project-specific lore from contributors.

My goal with GitGitGadget was to allow competent contributors to focus on
addressing their pet peeve with Git, to produce a stellar patch with an
outstanding description and get that integrated into the next major Git
version, and not have to learn about the culture and mechanics of our
patch review process for what may very well be their single contribution
to Git.

Just look at the wall of text GitGitGadget first-time users _already_ have
to read through, and it does not even catch half of what is relevant for
every single contributor:
https://github.com/gitgitgadget/gitgitgadget/blob/HEAD/res/WELCOME.md

Note that this wall of text does not even begin to answer questions such
as "how do I know when this patch is accepted?".

The suggestion that the contributor should Cc: you explicitly when the
contribution is supposedly ready to advance (according to a set of rules
that is not formalized anywhere that I know of) could potentially be added
to that wall of text, but I doubt that it will make it easier to
contribute even for the most advanced and dedicated software engineers.

> Is there a point in the end-user experience flow, starting at the
> time when they push their proposed change to their repository, throw
> a pull request at GitHub, say "/submit", and then GGG finally sends
> out a patch e-mail, where the GGG machinery can inspect the change
> and give the user (preferrably before the user says /submit) a hint
> that says "you may want to add Cc: to these people in such and such
> case, and if you think the situation falls into these cases, tell me
> so by saying /submit-with-suggested-cc instead of the usual
> /submit"?
>
> And "these people" may include those who touched the affected code
> within the past 6 months, and it may also include the maintainer
> when the pull request is in its second or later iteration.

We already have a ticket suggesting to add reviewers:
https://github.com/gitgitgadget/gitgitgadget/issues/219

With this suggestion, too, we could go and extend that wall of text even
further and expect contributors to just know what they are supposed to do.
But I don't see how that would make this process more inviting to new
contributors.

BTW I get the sense that many Git mailing list regulars have this idea
that making the review process easier for one-time contributors would
invite too many low-quality contributions. However, I see the exact
opposite: professional software engineers I talk to refuse to jump through
all those hoops, even if they would be quite capable of producing a
stellar patch within no time. At the same time I see a lot of less
experienced developers delighting in the struggle^Wchallenge to set up
`git send-email` correctly _just_ to earn bragging rights to have their
typo fix in Git's commit history. I am exaggerating here, of course, to
make a point. And I think this is a very valid point. We lose
contributions (and potential future reviewers) because we make it harder
than necessary to contribute to Git.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-08 14:56                 ` Johannes Schindelin
@ 2021-01-08 19:48                   ` Junio C Hamano
  2021-01-10 12:02                     ` Johannes Schindelin
  2021-01-08 20:08                   ` Taylor Blau
  1 sibling, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2021-01-08 19:48 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> But I don't see how that would make this process more inviting to new
> contributors.

Appearing to be inviting should not be our primary goal.  

Instead, the goal should be to make it easier to contribute quality
patches.  By doing so, the smooth experience may attract more new
people, which may end up to be "inviting" in the end, but that is as
a side effect.

> BTW I get the sense that many Git mailing list regulars have this idea
> that making the review process easier for one-time contributors would
> invite too many low-quality contributions.

I don't get such a sense at all.

Sure, if GGG or any other mechanism encourages spamming the list
with low-quality patches, that may harm our productivity, but that
is not what we are doing.  And I do not see how it can be a source
of low-quality contributions to send patches that by default do not
CC them to random people when the sender does not know when it is
appropriate to do so.  Sure, if the patches asked for attention from
appropriate reviewers (the maintainer included), it might get more
responses, but we more often review patches that are only sent to
the list than those that are sent directly to us via Cc _anyway_.

On the other hand, inviting more new people to CC reviewers whose
mailboxes are already full when the patches are not yet ready would
harm productivity of recipients of such patches.

One attribute of a quality patch is that it is CC'ed to the right
people and at the right time.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-08 14:56                 ` Johannes Schindelin
  2021-01-08 19:48                   ` Junio C Hamano
@ 2021-01-08 20:08                   ` Taylor Blau
  2021-01-10 12:21                     ` Johannes Schindelin
  1 sibling, 1 reply; 20+ messages in thread
From: Taylor Blau @ 2021-01-08 20:08 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

On Fri, Jan 08, 2021 at 03:56:20PM +0100, Johannes Schindelin wrote:
> Hi Junio,
>
> On Thu, 7 Jan 2021, Junio C Hamano wrote:
>
> > We may not be able to automate the thinking part to decide when
> > submitter may want to get help, but an automation can help by giving
> > the submitter cues and clues when to ask for help and from whom.
>
> I fear that we're striking the balance on the side of expecting too much
> knowledge about project-specific lore from contributors.

I think that this could be reasonably addressed. When someone opens a PR
(but before the hit /submit), GGG could say:

    Your change touches these files, and so suggested reviewers include
    X, Y, Z. When you believe your submission is in its last round,
    please also include the maintainer, M.

> We already have a ticket suggesting to add reviewers:
> https://github.com/gitgitgadget/gitgitgadget/issues/219
>
> With this suggestion, too, we could go and extend that wall of text even
> further and expect contributors to just know what they are supposed to do.
> But I don't see how that would make this process more inviting to new
> contributors.

Yeah, I agree that adding this as a separate step does not make sense,
since it's hard to discover such things (especially by individuals who
merely want to send a single contribution to the project). Having this
happen automatically upon creating a PR would make more sense to me.

Thanks,
Taylor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-08 19:48                   ` Junio C Hamano
@ 2021-01-10 12:02                     ` Johannes Schindelin
  0 siblings, 0 replies; 20+ messages in thread
From: Johannes Schindelin @ 2021-01-10 12:02 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Junio,

On Fri, 8 Jan 2021, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> One attribute of a quality patch is that it is CC'ed to the right
> people and at the right time.

That's like saying that a quality guest in my house is one who does not
have to ask where the bathroom is.

I want the Git project to be more inviting than that.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-08 20:08                   ` Taylor Blau
@ 2021-01-10 12:21                     ` Johannes Schindelin
  2021-01-10 20:18                       ` Junio C Hamano
  0 siblings, 1 reply; 20+ messages in thread
From: Johannes Schindelin @ 2021-01-10 12:21 UTC (permalink / raw)
  To: Taylor Blau
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Hi Taylor,

On Fri, 8 Jan 2021, Taylor Blau wrote:

> On Fri, Jan 08, 2021 at 03:56:20PM +0100, Johannes Schindelin wrote:
> >
> > On Thu, 7 Jan 2021, Junio C Hamano wrote:
> >
> > > We may not be able to automate the thinking part to decide when
> > > submitter may want to get help, but an automation can help by giving
> > > the submitter cues and clues when to ask for help and from whom.
> >
> > I fear that we're striking the balance on the side of expecting too much
> > knowledge about project-specific lore from contributors.
>
> I think that this could be reasonably addressed. When someone opens a PR
> (but before the hit /submit), GGG could say:
>
>     Your change touches these files, and so suggested reviewers include
>     X, Y, Z. When you believe your submission is in its last round,
>     please also include the maintainer, M.

That is an option.

Is it the best option to reach the goal where competent software engineers
can focus on improving Git's source code?

Maybe it is not possible do automate what I wish for.

> > We already have a ticket suggesting to add reviewers:
> > https://github.com/gitgitgadget/gitgitgadget/issues/219
> >
> > With this suggestion, too, we could go and extend that wall of text even
> > further and expect contributors to just know what they are supposed to do.
> > But I don't see how that would make this process more inviting to new
> > contributors.
>
> Yeah, I agree that adding this as a separate step does not make sense,
> since it's hard to discover such things (especially by individuals who
> merely want to send a single contribution to the project). Having this
> happen automatically upon creating a PR would make more sense to me.

Right.

I always have this contribution in mind: Improve the readability of `log
--graph` output (https://github.com/gitgitgadget/git/pull/383)

This was an excellent contribution. I doubt that we would have received it
without GitGitGadget, as the contributor could really focus on the code
change instead of the contribution logistics.

We did not exactly make it easy, and I fear that we are losing a lot of
potential contributions because of that.

For example, Git is often ridiculed for being hard to use, and I can
understand. There has been research into ways to improve that, but little
of that research resulted in contributions on the Git mailing list. I
would not at all be surprised if that was because of the review process we
put up.

Usability is only one area where I think we would benefit from attracting
talent. Accessibility is another one. Or UI improvements (consistency,
self-explanatory navigation, etc). Or...

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-10 12:21                     ` Johannes Schindelin
@ 2021-01-10 20:18                       ` Junio C Hamano
  2021-01-11 19:18                         ` Taylor Blau
  2021-01-14  6:32                         ` 胡哲宁
  0 siblings, 2 replies; 20+ messages in thread
From: Junio C Hamano @ 2021-01-10 20:18 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Taylor Blau, Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> Hi Taylor,
>
> On Fri, 8 Jan 2021, Taylor Blau wrote:
> ...
>> I think that this could be reasonably addressed. When someone opens a PR
>> (but before the hit /submit), GGG could say:
>>
>>     Your change touches these files, and so suggested reviewers include
>>     X, Y, Z. When you believe your submission is in its last round,
>>     please also include the maintainer, M.
>
> That is an option.

As Taylor created the above suggestion as a counter-proposal, I can
see that I apparently did not express what I meant very well, when I
said:

    Is there a point in the end-user experience flow, starting at
    the time when they push their proposed change to their
    repository, throw a pull request at GitHub, say "/submit", and
    then GGG finally sends out a patch e-mail, where the GGG
    machinery can inspect the change and give the user (preferrably
    before the user says /submit) a hint that says "you may want to
    add Cc: to these people in such and such case, and if you think
    the situation falls into these cases, tell me so by saying
    /submit-with-suggested-cc instead of the usual /submit"?

What Taylor suggested, and what you seem to be agreeing to, is
exactly what I had in mind when I wrote the above in my message.  

So perhaps we three are on the same page from the beginning ;-)

Looking forward to see a new feature that helps contributors to more
easily ask help from appropriate people.

Thanks.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-10 20:18                       ` Junio C Hamano
@ 2021-01-11 19:18                         ` Taylor Blau
  2021-01-12 23:22                           ` Junio C Hamano
  2021-01-14  6:32                         ` 胡哲宁
  1 sibling, 1 reply; 20+ messages in thread
From: Taylor Blau @ 2021-01-11 19:18 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Johannes Schindelin, Taylor Blau,
	Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

On Sun, Jan 10, 2021 at 12:18:33PM -0800, Junio C Hamano wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > Hi Taylor,
> >
> > On Fri, 8 Jan 2021, Taylor Blau wrote:
> > ...
> >> I think that this could be reasonably addressed. When someone opens a PR
> >> (but before the hit /submit), GGG could say:
> >>
> >>     Your change touches these files, and so suggested reviewers include
> >>     X, Y, Z. When you believe your submission is in its last round,
> >>     please also include the maintainer, M.
> >
> > That is an option.
>
> As Taylor created the above suggestion as a counter-proposal, I can
> see that I apparently did not express what I meant very well, when I
> said:

...or that I must have not read your email which quite clearly states
what I was thinking of, too. ;-).

> So perhaps we three are on the same page from the beginning ;-)

I think so.

Thanks,
Taylor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-11 19:18                         ` Taylor Blau
@ 2021-01-12 23:22                           ` Junio C Hamano
  0 siblings, 0 replies; 20+ messages in thread
From: Junio C Hamano @ 2021-01-12 23:22 UTC (permalink / raw)
  To: Taylor Blau
  Cc: Johannes Schindelin, Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

Taylor Blau <me@ttaylorr.com> writes:

> On Sun, Jan 10, 2021 at 12:18:33PM -0800, Junio C Hamano wrote:
>
>> As Taylor created the above suggestion as a counter-proposal, I can
>> see that I apparently did not express what I meant very well, when I
>> said:
>
> ...or that I must have not read your email which quite clearly states
> what I was thinking of, too. ;-).

Seeing that Dscho had a negative reaction to my rendering of my
thought while showing positive one towards yours, I see that what I
wrote wasn't clear enough to be understood to at least two people.

Thanks for clearly illustrating a possible end user experience that
is desiable.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Cc'ing the Git maintainer on GitGitGadget contributions, was Re: [PATCH 0/1] add--interactive: skip index refresh in reset patch mode
  2021-01-10 20:18                       ` Junio C Hamano
  2021-01-11 19:18                         ` Taylor Blau
@ 2021-01-14  6:32                         ` 胡哲宁
  1 sibling, 0 replies; 20+ messages in thread
From: 胡哲宁 @ 2021-01-14  6:32 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Taylor Blau, Ævar Arnfjörð Bjarmason,
	Nika Layzell via GitGitGadget, git, Nika Layzell

> Looking forward to see a new feature that helps contributors to more
> easily ask help from appropriate people.

I'm a novice with lots of interest but lots of problems.

A week ago, I made the following submission:
https://public-inbox.org/git/pull.832.v2.git.1610116600.gitgitgadget@gmail.com/
https://public-inbox.org/git/0261e5d245ef0a5b9a717be1bc03492d7bc06c5e.1610116600.git.gitgitgadget@gmail.com/
https://public-inbox.org/git/a09a5098aa66ea0ed89fe0fcde3f016b4a65814d.1610116600.git.gitgitgadget@gmail.com/

Now I really want to find the right person to reply to me, but it
seems that no one has answered me yet.
Do I have some mistakes in the use of GIT gadgets? Please tell me and
I will correct it.

Thanks.
--
ZheNing Hu

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-01-14  6:33 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-23 19:56 [PATCH 0/1] add--interactive: skip index refresh in reset patch mode Nika Layzell via GitGitGadget
2019-11-23 19:56 ` [PATCH 1/1] " Nika Layzell via GitGitGadget
2019-11-24  6:01 ` [PATCH 0/1] " Junio C Hamano
2019-11-25 14:24   ` Johannes Schindelin
2019-11-25 14:45     ` Johannes Schindelin
2019-11-26  1:13       ` Junio C Hamano
2021-01-07 14:18         ` Cc'ing the Git maintainer on GitGitGadget contributions, was " Johannes Schindelin
2021-01-07 14:57           ` Ævar Arnfjörð Bjarmason
2021-01-07 16:20             ` Johannes Schindelin
2021-01-07 21:25               ` Junio C Hamano
2021-01-08 14:56                 ` Johannes Schindelin
2021-01-08 19:48                   ` Junio C Hamano
2021-01-10 12:02                     ` Johannes Schindelin
2021-01-08 20:08                   ` Taylor Blau
2021-01-10 12:21                     ` Johannes Schindelin
2021-01-10 20:18                       ` Junio C Hamano
2021-01-11 19:18                         ` Taylor Blau
2021-01-12 23:22                           ` Junio C Hamano
2021-01-14  6:32                         ` 胡哲宁
2019-11-26  1:12     ` Junio C Hamano

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for the project(s) associated with this inbox:

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

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git