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

Re: [PATCH 3/3] git send-email: add --annotate option

From
Pierre Habouzit <madcoder@debian.org>
Date
Nov 2, 2008, 09:51 UTC
Message-ID
<20081102095152.GG4066@artemis>
In-Reply-To
<7vskqa3atg.fsf@gitster.siamese.dyndns.org>
On Sun, Nov 02, 2008 at 06:23:55AM +0000, Junio C Hamano wrote:
Show 17 quoted lines
> Pierre Habouzit <madcoder@debian.org> writes:
> 
> > This allows to review every patch (and fix various aspects of them, or
> > comment them) in an editor just before being sent. Combined to the fact
> > that git send-email can now process revision lists, this makes git
> > send-email and efficient way to review and send patches interactively.
> 
> Without your patches, you run format-patch (with or without cover), you
> use the editor of your choice to massage them and feed the resulting files
> to send-email.
> 
> Only because you wanted to allow format-patch parameters to be given to
> send-email, you now need to also allow the messages to be massaged before
> they are sent out.
> 
> Is it only me who finds that this series creates its own problem and then
> has to solve it?  What are we getting in return?
Actually my problem is that the current workflow is:
    $ git format-patch [rev-list]
    $ vim *.patch
    # massage patches
    $ git send-email [argument list too long to copy] --compose *.patch
    # struggle in vim to reopen the patches I'm about to comment to copy
    # the Subject lines and other similar stuff
    # answer to a lot of silly questions that git-s-e should guess from
    # the cover.

*also* I often have other patches in my repository, and this send-email sometimes globs _too many_ patches and this is a big problem for me. Basically that and all the '#' bits, and the number of commands to type are what make me dislike git-send-email (but still use it since there are no good alternatives yet that automate the task).

With my patch series, the workflow is as follows:
    $ git send-email --to <where> --annotate [rev-list]
    # as vim can open many files at once, I have the cover opened _and_
    # all the patches at once, or only the patch if there's one single
    # patch I can massage everything I want.
    # answer 'y' to the _single_ question git-s-e asks.
    # or 'n' if something doesn't fly.

Not only the command line is considerably shorter (even the --to can be omited actually, but unlike --in-reply-to, it rarely changes and it's in the history so...), but more importantly I can see what I will send, no more '*.patch' that will bite me hard. I don't have to struggle opening all the patches I'm interested in reading while I comment them in the cover, and so on.

I mean you're mistaken when you say:
  ] Only because you wanted to allow format-patch parameters to be
  ] given to send-email, you now need to also allow the messages to be
  ] massaged before they are sent out.

Your causality is backwards. I _DO_ want git-send-email to allow me to do the cover _and_ the massaging at once. It's actually the first patch I wrote locally even if I reordered the series before sending for some reason I don't remember. *Then* if you do that, there's little point in having to perform git-format-patch in the first place, hence I wanted the feature to let git-format-patch be run by git-send-email directly.

I don't know for others, but with those series, git-send-email is
_REALLY_ what I would have wanted it to be from day 1. The sole little
issues I can see are:
 * the To:/Cc:/Bcc:/other headers parsing directly from the cover, for
   that someone better skilled than me shall add a last patch to do that
   properly.
 * when you only edit one single patch, it doesn't do the From/To/Cc/...
   parsing and you'll get all the silly interactive questions again.
   That should probably addressed, but to be frank I care about this one
   less, because I send single patches directly from mutt. So it's not
   really my itch to scratch[0] ;)
  [0] WHO SAID I'M LAZY ? Yeah you in the back, I HEAR YA!
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Junio C HamanoNext: Matthieu Moy
Message 7 of 62 in “git send-email improvements”
  1. Pierre HabouzitOct 31, 2008
  2. 1/3 git send-email: avoid leaking directory file descriptors.Pierre Habouzit, Oct 31, 2008
  3. 2/3 git send-email: interpret unknown files as revision listsPierre Habouzit, Oct 31, 2008
  4. 3/3 git send-email: add --annotate optionPierre Habouzit, Oct 31, 2008
  5. Ian HiltOct 31, 2008
  6. Junio C HamanoNov 2, 2008
  7. Pierre HabouzitNov 2, 2008
  8. Matthieu MoyNov 3, 2008
  9. git send-email: allow any rev-list option as an argument.Pierre Habouzit, Oct 31, 2008
  10. Jeff KingNov 2, 2008
  11. Pierre HabouzitNov 2, 2008
  12. Jeff KingNov 2, 2008
  13. Pierre HabouzitNov 3, 2008
  14. Junio C HamanoNov 4, 2008
  15. Pierre HabouzitNov 4, 2008
  16. Jeff KingNov 2, 2008
  17. Further enhancement proposal for git-send-emailPierre Habouzit, Oct 31, 2008
  18. 1/3 git send-email: make the message file name more specific.Pierre Habouzit, Oct 31, 2008
  19. 2/3 git send-email: do not ask questions when --compose is used.Pierre Habouzit, Oct 31, 2008
  20. 3/3 git send-email: turn --compose on when more than one patch.Pierre Habouzit, Oct 31, 2008
  21. Ian HiltOct 31, 2008
  22. Pierre HabouzitOct 31, 2008
  23. Ian HiltOct 31, 2008
  24. Ian HiltNov 1, 2008
  25. Pierre HabouzitNov 1, 2008
  26. Ian HiltNov 1, 2008
  27. Pierre HabouzitNov 1, 2008
  28. Francis GaliegueNov 1, 2008
  29. Pierre HabouzitNov 1, 2008
  30. Francis GaliegueNov 1, 2008
  31. Ian HiltNov 1, 2008
  32. Junio C HamanoNov 2, 2008
  33. Pierre HabouzitNov 2, 2008
  34. Ian HiltNov 2, 2008
  35. Pierre HabouzitNov 3, 2008
  36. [take 2] git send-email updatesPierre Habouzit, Nov 4, 2008
  37. 1/5 git send-email: make the message file name more specific.Pierre Habouzit, Nov 4, 2008
  38. 2/5 git send-email: interpret unknown files as revision listsPierre Habouzit, Nov 4, 2008
  39. 3/5 git send-email: add --annotate optionPierre Habouzit, Nov 4, 2008
  40. 4/5 git send-email: ask less questions when --compose is used.Pierre Habouzit, Nov 4, 2008
  41. 5/5 git send-email: turn --compose on when more than one patch.Pierre Habouzit, Nov 4, 2008
  42. Junio C HamanoNov 4, 2008
  43. Jeff KingNov 5, 2008
  44. Junio C HamanoNov 5, 2008
  45. Pierre HabouzitNov 5, 2008
  46. Junio C HamanoNov 5, 2008
  47. Junio C HamanoNov 9, 2008
  48. Francis GaliegueNov 4, 2008
  49. Junio C HamanoNov 4, 2008
  50. Junio C HamanoNov 4, 2008
  51. [take 2] git send-email updatesPierre Habouzit, Nov 10, 2008
  52. 1/4 git send-email: make the message file name more specific.Pierre Habouzit, Nov 10, 2008
  53. 2/4 git send-email: interpret unknown files as revision listsPierre Habouzit, Nov 10, 2008
  54. 3/4 git send-email: add --annotate optionPierre Habouzit, Nov 10, 2008
  55. 4/4 git send-email: ask less questions when --compose is used.Pierre Habouzit, Nov 10, 2008
  56. Junio C HamanoNov 12, 2008
  57. Junio C HamanoNov 11, 2008
  58. Pierre HabouzitNov 11, 2008
  59. Junio C HamanoNov 12, 2008
  60. Re* [take 2] git send-email updatesJunio C Hamano, Nov 13, 2008
  61. Pierre HabouzitNov 15, 2008
  62. Pierre HabouzitNov 15, 2008

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.