* [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 related [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: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 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 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 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
* 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
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
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).