threads / discuss / 51933

[git issue] git am failed for patches of converting the format of source codes from dos to unix

Subject: [git issue] git am failed for patches of converting the format of source codes from dos to unix

## tl;dr

2 messages between Sep 27, 2019 and Sep 27, 2019.

replies: 1people: 2as markdown or json

Beyondhorizon Zheng· Sep 27, 2019, 07:31 UTC · lore

[git issue] git am failed for patches of converting the file format of source codes from dos to unix

Git version: git version 2.23.0
Host PC: ubuntu 16.04.10
Reporter: Shuang Zheng
I have submitted a patch which convert the file format of source file
from dos to unix with command:
dos2unix misc/acrn-config/config_app/controller.py
then submit a patch with this change:
        git add controller.py
        git commit -m “change file format”
        git format-patch HEAD~1
        git am 0001-change-file-format.patch
errors as below:
Applying: change file format
error: patch failed: misc/acrn-config/config_app/controller.py:1
error: misc/acrn-config/config_app/controller.py: patch does not apply
Patch failed at 0001 fix format
hint: Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Thomas Gummerer· Sep 27, 2019, 09:25 UTC · re: Beyondhorizon Zheng · lore

Re: [git issue] git am failed for patches of converting the format of source codes from dos to unix

On 09/27, Beyondhorizon Zheng wrote:
Show 14 quoted lines
> [git issue] git am failed for patches of converting the file format of
> source codes from dos to unix
> 
> Git version: git version 2.23.0
> Host PC: ubuntu 16.04.10
> Reporter: Shuang Zheng
> 
> I have submitted a patch which convert the file format of source file
> from dos to unix with command:
> dos2unix misc/acrn-config/config_app/controller.py
> then submit a patch with this change:
>         git add controller.py
>         git commit -m “change file format”
>         git format-patch HEAD~1
Here you are preparing a patch of your last commit.  Good.
>         git am 0001-change-file-format.patch

Running this right after 'git format-patch' will try to apply the patch, but your latest commit already includes those changes. So there is nothing to apply, and 'git am' fails. Normally you would not use 'format-patch' and then try to apply the patch again, but rather send it to someone else, who could then apply your changes.

You could use 'git am -3 0001-change-file-format.patch', which falls back to a three-way merge, which should tell you something like:

    No changes -- Patch already applied.

If you want to check that the patch applies correctly, you can use 'git reset --hard HEAD~1' (make sure you don't have any untracked changes you don't want to loose first), and then use the 'git am' command from above.

Hope that helps.
Show 9 quoted lines
> errors as below:
> Applying: change file format
> error: patch failed: misc/acrn-config/config_app/controller.py:1
> error: misc/acrn-config/config_app/controller.py: patch does not apply
> Patch failed at 0001 fix format
> hint: Use 'git am --show-current-patch' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".

← back to recent threads