git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] format-patch: --inline-single

From
Jeff King <peff@peff.net>
Date
Feb 22, 2013, 17:23 UTC
Message-ID
<20130222172353.GA17475@sigill.intra.peff.net>
In-Reply-To
<7vmwuws3bo.fsf@alter.siamese.dyndns.org>
On Fri, Feb 22, 2013 at 08:47:39AM -0800, Junio C Hamano wrote:
Show 16 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> >> ... <helper function to see if the user is the author> ...
> >> +}
> >
> > Nice, I'm glad you handled this case properly. I've wondered if we
> > should have an option to do a similar test when writing out the "real"
> > message format. I.e., to put the extra "From" line in the body of the
> > message when !is_current_user(). Traditionally we have just said "that
> > is the responsibility of the MUA you use", and let send-email handle it.
> > But it means people who do not use send-email have to reimplement the
> > feature themselves.
> 
> I am not sure if I follow.  Do you mean that you have to remove
> fewer lines if you omit Date/From when it is from you in the first
> place?

Sorry, I think I confused you by going off on a tangent. The rest of my email was about dropping unnecessary lines from the inline view. But here I was talking about another possible use of the "is user the author" function. For the existing view, we show:

  From: A U Thor <author@example.com>
  Date: ...
  Subject: [PATCH] whatever
  body
and if committer != author, we expect the MUA to convert that to:
  From: C O Mitter <committer@example.com>
  Date: ...
  Subject: [PATCH] whatever
  From: A U Thor <author@example.com>
  body

That logic happens in git-send-email right now, but given that your patch adds the "are we the author?" function, it would be trivial to add a "--sender-is-committer" option to format-patch to have it do it automatically. That saves the MUA from having to worry about it.

Show 5 quoted lines
> People who do not use send-email (like me) slurp the output
> 0001-have-gostak-distim-doshes.patch into their MUA editor, tell the
> MUA to use the contents on the Subject: line as the subject, and
> remove what is redundant, including the Subject.  Because the output
> cannot be used as-is anyway, I do not think it is such a big deal.

That is one way to do it. Another way is to hand the output of format-patch to your MUA as a template, making it a starting point for a message we are about to send. No manual editing is necessary in that case, unless the "From" header does not match the sender identity.

Show 6 quoted lines
> And those who have a custom mechanism to stuff our output in their
> MUA's outbox, similar to what imap-send does, would already have to
> have a trivial parser to read the first part of our output up to the
> first blank line (i.e. parsing out the header part) and formatting
> the information it finds into a form that is understood by their
> MUA.

Not necessarily. The existing format is an rfc822 message, which mailers understand already. It's perfectly cromulent to do:

  git format-patch --stdout "$@" >mbox &&
  mutt -f mbox

and use mutt's "resend-message" as a starting point for sending each message. No editing is necessary except for adding recipients (which you can also do on the command-line to format-patch).

> Omitting From: or Date: lines would not help those people who
> already have established the procedure to handle the "Oh, this one
> is from me" case, or to send the output always with the Sender: and
> keeping the From: intact.  So,...

Right, my point was to help people who _should_ have implemented the "oh, this one is from me" case, but were too lazy to do so (and it's actually a little tricky to get right, because you might have to adjust the mime headers to account for encoded author names).

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 26 of 27 in “[BUG] git-check-ignore: Segmentation fault”
  1. Zoltan KlingerFeb 19, 2013
  2. Adam SpiersFeb 19, 2013
  3. 1/2 t0008: document test_expect_success_multiAdam Spiers, Feb 19, 2013
  4. 2/2 check-ignore.c: fix segfault with '.' argument from repo rootAdam Spiers, Feb 19, 2013
  5. Junio C HamanoFeb 19, 2013
  6. Adam SpiersFeb 19, 2013
  7. 2/2 check-ignore.c, dir.c: fix segfault with '.' argument from repo rootAdam Spiers, Feb 19, 2013
  8. Junio C HamanoFeb 19, 2013
  9. Junio C HamanoFeb 19, 2013
  10. Adam SpiersFeb 20, 2013
  11. Junio C HamanoFeb 20, 2013
  12. Adam SpiersFeb 20, 2013
  13. Adam SpiersFeb 20, 2013
  14. Re* [PATCH 2/2] check-ignore.c: fix segfault with '.' argument from repo rootJunio C Hamano, Feb 19, 2013
  15. Adam SpiersFeb 20, 2013
  16. Junio C HamanoFeb 20, 2013
  17. Adam SpiersFeb 20, 2013
  18. Junio C HamanoFeb 21, 2013
  19. 1/2 format-patch: rename "no_inline" fieldJunio C Hamano, Feb 21, 2013
  20. 2/2 format-patch: --inline-singleJunio C Hamano, Feb 21, 2013
  21. Jeff KingFeb 21, 2013
  22. Junio C HamanoFeb 21, 2013
  23. Junio C HamanoFeb 21, 2013
  24. Adam SpiersFeb 22, 2013
  25. Junio C HamanoFeb 22, 2013
  26. Jeff KingFeb 22, 2013
  27. Junio C HamanoFeb 19, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.