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

Re: format-patch and submodules

From
Luke Diamand <luke@diamand.org>
Date
Jun 10, 2015, 21:14 UTC
Message-ID
<5578A8AC.2090704@diamand.org>
In-Reply-To
<CAD2z=MBSAzENvj1-WUMzrXznvudjCc3vyvYQQ+wMnPC3G3Go2Q@mail.gmail.com>
On 10/06/15 18:04, Christopher Dunn wrote:
> Sorry. I thought empty patches were made to work in other cases.
>
> 'git-p4' needs to skip these. Wrong mailing list then.

Possibly the right mailing list - can you explain what you mean here w.r.t git-p4 please?

Thanks! Luke

Show 54 quoted lines
>
> On Tue, Jun 9, 2015 at 1:52 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
>> 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"?)
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Previous: Christopher DunnNext: Christopher Dunn
Message 4 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.