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

Re: format-patch and submodules

From
Christopher Dunn <cdunn2001@gmail.com>
Date
Jun 10, 2015, 17:04 UTC
Message-ID
<CAD2z=MBSAzENvj1-WUMzrXznvudjCc3vyvYQQ+wMnPC3G3Go2Q@mail.gmail.com>
In-Reply-To
<557735E6.8040906@web.de>
Sorry. I thought empty patches were made to work in other cases.
'git-p4' needs to skip these. Wrong mailing list then.
On Tue, Jun 9, 2015 at 1:52 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
Show 47 quoted lines
> Am 05.06.2015 um 01:20 schrieb Christopher Dunn:
>>
>> (Seen in git versions: 2.1.0 and 1.9.3 et al.)
>>
>> $ git format-patch --stdout X^..X | git apply check -
>> fatal: unrecognized input
>>
>> This fails when the commit consists of nothing but a submodule change
>> (as in 'git add submodule foo'), but it passes when a file change is
>> added to the same commit.
>>
>> There used to be a similar problem for empty commits, but that was
>> fixed around git-1.8:
>>
>>
>> http://stackoverflow.com/questions/20775132/cannot-apply-git-patch-replacing-a-file-with-a-link
>>
>> Now, 'git format-patch' outputs nothing for an empty commit. I suppose
>> that needs to be the behavior also when only submodules are changed,
>> since in that case there is no 'diff' section from 'format-patch'.
>>
>> Use-case: git-p4
>>
>> Of course, we do not plan to add the submodule into Perforce, but we
>> would like this particular command to behave the same whether there
>> are other diffs or not.
>
>
> Hmm, I'm not sure that this is a bug. It looks to me like doing a
>
> $ git format-patch --stdout X^..X | git apply check -
>
> when nothing is changed except submodules and expecting it to work
> is the cause of the problem.
>
> I get the same error when I do:
>
> $git format-patch --stdout master..master | git apply --check -
> fatal: unrecognized input
>
> No submodules involved, just an empty patch.
>
> I assume you want to ignore all submodule changes, so you should
> check if e.g. "git diff --ignore-submodules X^..X" returns anything
> before applying that? (From the command you ran I assume you might
> be able to drop the --ignore-submodules because you already did set
> "diff.ignoreSubmodules" to "all"?)
Previous: Jens LehmannNext: Luke Diamand
Message 3 of 5 in “format-patch and submodules”
  1. Christopher DunnJun 4, 2015
  2. Jens LehmannJun 9, 2015
  3. Christopher DunnJun 10, 2015
  4. Luke DiamandJun 10, 2015
  5. Christopher DunnJun 10, 2015

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.