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

Re: [PATCH] Allow format-patch to create patches for merges

From
Nathan W. Panike <nathan.panike@gmail.com>
Date
Jan 26, 2009, 16:27 UTC
Message-ID
<d77df1110901260827j2200fe41oe1b84c387d88aba@mail.gmail.com>
In-Reply-To
<alpine.DEB.1.00.0901261604420.25749@intel-tinevez-2-302>

On Mon, Jan 26, 2009 at 9:36 AM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:

Show 16 quoted lines
> Hi,
>
> On Mon, 26 Jan 2009, Nathan W. Panike wrote:
>
>> The behavior for git format-patch is to ignore merge commits, producing
>> an empty patch.  The code does not allow the user to change this
>> behavior. This patch changes that behavior by allowing the user to
>> specify -c or -m at the command line to produce a patch for a merge
>> commit.
>
> Your patch is almost perfect, except that you
>
> - lack an explanation when this makes sense (format-patch is commonly used
>  for mail-based patch queues, and only -m 1 would make sense there, and
>  only if you run format-patch with --first-parent),
>

I think I have an unusual workflow where my patch makes sense, although it probably does not for the vast majority of git users. I regularly use 3 machines: S, L, and H. I keep my work synchronized by using git. Normally, I fetch from S to L or to H, depending on which machine I am working on at the moment. I also push from L or H to S. I sporadically lose connectivity to S, so I have a hook in the repo on S to send a backup email to me on mail server M, which has a more reliable connection. This email also serves as a reminder when I have moved from one machine to another with a degree of latency; and I can use the mail queue on M to recreate most of my state, if I cannot fetch from S. In this workflow, I would really like git to create a patch, even in the merge case, and I think I want to see that it was a merge.

What I do not want to see is an empty patch when a non-trivial change has occurred, which is the way it works now.

Also, I think I must be issuing the wrong command, as when I do
git format-patch --first-parent --stdout -1 $merge_commit
there is no data, with or without my patch.
> - did not add your Sign-off :-)
Oops.  Thanks for the catch.
Show 5 quoted lines
>
> Ciao,
> Dscho
>
>
Previous: Johannes SchindelinNext: Jeff King
Message 3 of 6 in “Allow format-patch to create patches for merges”
  1. Allow format-patch to create patches for mergesNathan W. Panike, Jan 26, 2009
  2. Johannes SchindelinJan 26, 2009
  3. Nathan W. PanikeJan 26, 2009
  4. Jeff KingJan 26, 2009
  5. Nathan W. PanikeJan 26, 2009
  6. Junio C HamanoJan 26, 2009

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.