Re: patch submission process, was Re: [PATCH v6 06/16] merge_recursive: abort properly upon errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 3, 2016 at 9:07 AM, Johannes Schindelin
<Johannes.Schindelin@xxxxxx> wrote:
> Hi Junio,
>
> On Wed, 3 Aug 2016, Junio C Hamano wrote:
>
>> On Wed, Aug 3, 2016 at 4:59 AM, Johannes Schindelin
>> <Johannes.Schindelin@xxxxxx> wrote:
>> >
>> > I disagree, however, with the suggestion to sift through your `pu` branch
>> > and to somehow replace local branches with the commits found there.
>>
>> To be more in line with the "e-mailed patch" workflow, I think what I should
>> do is to send the version I queued with fixups back to the list as follow-up.
>> Just like reviewers review, the maintainer reviews and queues, the original
>> author should be able to work in the same workflow, i.e. reading and applying
>> an improved version of the patch from her mailbox.
>
> You seem to assume that it isn't cumbersome for people like me to extract
> patches out of mails and to replace existing commits using those patches.
>
> So it probably comes as a huge surprise to you to learn that this *is*
> cumbersome for me.

It is also cumbersome for me, because I never had the need to setup a proper
mail client that has the strength to apply patches. The need was not there as
I tend to apply only rarely patches by email, so I can go the painful
way each time.

But if we as a community decide that we bounce emails back and forth,
I (and you)
may have to find a proper email client that is easy to work with, e.g.
one key shortcut
to apply a patch series to the HEAD of your local repository.

>
> I got too used to the ease of git push, git pull with or without --rebase,
> and many other Git commands. Having to transmogrify code changes from
> commits in Git into a completely different universe: plain text patches in
> my mailbox, and back, losing all kinds of data in the process, is just
> not at all that easy. And it costs a lot of time.
>
> In short: if you start "submitting patches" back to me via mail, it does
> not help me. It makes things harder for me. In particular when you add
> your sign-off to every patch and I have to strip it.

You don't have to strip the sign off, as it shows the flow of the patch,
e.g.

Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx>
Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>

may indicate you proposed a patch, Junio picked it up (and fixed a
typo optionally),
I obtained the patch (via mail, via Git?) improved it, you improved it further
and then Junio took it and merged it upstream.

>
> If you change your workflow, I would humbly request that you do it in a
> way that makes things easier on both sides, not harder.

When attending the Git Merge conference in May, gregkh said roughtly:
"We deliberately waste developers time, because it is not scarce.
Maintainers time is scarce however " and it stuck with me. (and I
am a developer, not a maintainer ;( so at least the kernel community
deems it ok to waste my time).

While that is true for the kernel community, I guess it is also true for the
Git community, unless Junio (and the community) want to appoint a
bunch of maintainer lieutenants, such that they outnumber the number
of developers, e.g. divided by areas of the code:
a refs backend maintainer, a submodule maintainer, ...
or rather by area of usage: a porcelain UI maintainer, a git-on-server
maintainer.

Though Git is not as diverse and large as the kernel, so the horde of
maintainers would step onto each feet quite frequently IMHO.

>
> It would be a totally different matter, of course, if you used the
> branches I publish via my GitHub repository, added fixup! and squash!
> commits, published the result to a public repository and then told me to
> pull from there, that would make things easier. We could even introduce a
> reword! construct, to make the review of the suggested edits of the commit
> message easier. I could easily verify that my branch head agrees with the
> base commit of your branch, I could build proper tooling around this
> workflow, and it would lighten my load.
>
> I guess what I am saying is that we might just as well start using this
> awesome tool to work with code, that tool named "Git".

I think Git itself is for the tracking the code and managing it, e.g. merging,
moving, keeping it. That doesn't quite include modifying and creating code
(e.g. there is no "git edit" command)

If we were to change our workflows drastically, I'd propose to
go a way[1] similar to notedb in Gerrit, or git-series, which defines
a common review format, such that we have a "protocol" how to store
the review data and how to store the progress of potential collaboration
and then we can develop tools against that protocol. Some people
want to have a web UI, whereas others want to have a text only thing
as they are faster keyboard only.

[1] http://git.661346.n2.nabble.com/Working-towards-a-common-review-format-for-git-td7645242.html

Thanks for starting this discussion,
Stefan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]