All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Martin Fick <mfick@codeaurora.org>,
	Jacob Keller <jacob.keller@gmail.com>,
	Git List <git@vger.kernel.org>,
	repo-discuss@googlegroups.com
Subject: Re: storing cover letter of a patch series?
Date: Fri, 05 Aug 2016 08:39:58 -0700	[thread overview]
Message-ID: <xmqqy44bxm0h.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20160804234920.GA27250@redhat.com> (Michael S. Tsirkin's message of "Fri, 5 Aug 2016 02:49:20 +0300")

"Michael S. Tsirkin" <mst@redhat.com> writes:

> On Thu, Sep 10, 2015 at 11:39:49AM -0700, Junio C Hamano wrote:
>> The problem with "empty commit trick" is that it is a commit whose
>> sole purpose is to describe the series, and its presence makes it
>> clear where the series ends, but the topology does not tell where
>> the series begins, so it is an unsatisifactory half-measure.
>
> Actually, when using topic branches the series always ends at head, so
> it's better to keep the empty commit where series begins.

But that would mean that you would need to destroy and recreate more
commits than you would need to.  If you have a five-commit series
(with the bottom "description" one, you would have six commits) and
you are already happy with the bottom two but want to update the
third one, you wuld have to "rebase -i" all six of them, reword the
bottom "description" to adjust it to describe the new version of the
third one _before_ you even do the actual update of the third one.

That somehow feels backwards, and that backward-ness comes from the
fact that you abused a single-parent commit for the purpose it is
not meant to be used (i.e. they are to describe individual changes),
because you did not find a better existing mechanism (and I suspect
there isn't any, in which case the solution is to invent one, not
abusing an existing mechanism that is not suited for it).

If this were part of a workflow like this, I would understand it:

 * Build a N-commit series on a topic.

 * You keep a "local integration testing" branch ("lit"), forked
   from a mainline and updated _every time_ you do something to your
   topics.  You may or may not publish this branch.  This is the
   aggregation of what you locally have done, a convenient place to
   test individual topics together before they get published.

 * A new topic, when you merge it to the "lit" branch, you describe
   the cover as the merge commit message.

 * When you updated an existing topic, you tell a tool like "rebase
   -i -p" to recreate "lit" branch on top of the mainline.  This
   would give you an opportunity to update the cover.

Now the tool support for the last one is the missing piece.  In
addition to what "rebase -i -p" would, it at least need to
automatically figure out which topics have been updated, so that
their merge commit log messages need to be given in the editor to
update, while carrying over the merge log message for other topics
intact (by default).

With that, you should also be able to teach "format-patch --cover"
to take these merge messages on "lit" into account when it creates
the cover letter.

  reply	other threads:[~2016-08-05 15:40 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-10 16:28 storing cover letter of a patch series? Jacob Keller
2015-09-10 17:41 ` Junio C Hamano
2015-09-10 18:02   ` Martin Fick
2015-09-10 18:38     ` Jacob Keller
2015-09-10 18:39     ` Junio C Hamano
2015-09-11 22:24       ` Junio C Hamano
2016-08-04 23:49       ` Michael S. Tsirkin
2016-08-05 15:39         ` Junio C Hamano [this message]
2016-08-05 21:20           ` Martin Fick
2016-08-05 21:23             ` Junio C Hamano
2016-08-06 16:51               ` Junio C Hamano
2016-08-07  5:12           ` Michael S. Tsirkin
2016-08-07  9:52             ` John Keeping
2016-08-07 10:42             ` Duy Nguyen
2016-08-08 17:42               ` Junio C Hamano
2016-08-09  7:12                 ` Michael J Gruber
2015-09-10 18:32   ` Jacob Keller
2015-09-10 18:44     ` Junio C Hamano
2015-09-10 18:46       ` Jacob Keller
2015-09-10 20:09         ` Philip Oakley
2015-09-10 21:03           ` Jacob Keller
2016-08-04 23:43             ` Michael S. Tsirkin
2015-09-10 18:58 ` Johannes Schindelin
2015-09-10 21:00   ` Jacob Keller
2015-09-10 21:21     ` Johannes Schindelin
2015-09-10 22:20       ` Philip Oakley
2015-09-12 22:51   ` [PATCH] doc: show usage of branch description Philip Oakley
2015-09-12 23:44     ` Jacob Keller
2015-09-14 12:01       ` Philip Oakley
2015-09-14 13:24         ` Philip Oakley
2015-09-14 17:00         ` Junio C Hamano
2015-09-15 16:06           ` Philip Oakley
2015-09-15 19:10           ` Philip Oakley
2015-09-14 14:10     ` [PATCH v2] " Philip Oakley
2015-09-11  8:30 ` storing cover letter of a patch series? Chris Packham
2015-09-18  4:03   ` Simon Glass
2016-08-08 17:27 ` Stefan Beller
2016-08-08 20:09   ` Junio C Hamano
2016-08-13  8:49   ` Duy Nguyen
2016-08-14  7:15     ` Jacob Keller
2016-08-15  6:28       ` Stefan Beller
2016-08-15  6:38         ` Jacob Keller
2016-08-15  6:49           ` Stefan Beller
2016-08-15  6:52             ` Jacob Keller
2016-08-15  9:40         ` Duy Nguyen
2016-08-15 12:37           ` Philip Oakley
2016-08-15 13:30             ` Duy Nguyen
2016-08-15 13:47               ` John Keeping
2016-08-15 20:09             ` Jacob Keller
2016-08-15 20:38               ` Junio C Hamano
2016-08-15 23:01                 ` Jacob Keller
2016-08-15 20:46               ` Philip Oakley
2016-08-16  3:45                 ` Duy Nguyen
2016-08-16  5:26                   ` Jacob Keller
2016-08-16  6:45                     ` Duy Nguyen
2016-08-16 15:52                       ` Jacob Keller
2016-08-16 21:29                       ` Philip Oakley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqy44bxm0h.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jacob.keller@gmail.com \
    --cc=mfick@codeaurora.org \
    --cc=mst@redhat.com \
    --cc=repo-discuss@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.