All GIT Patches I Create Throw Fatal: Unrecognized Input
Answer :
There is format problem in patch file. To fixthe path file:
Open your patch file in notepad++ then enter these two menus:
Encoding/Convert to UTF-8 Edit/EOL conversion/Unix (LF)Run:
git apply --reject --whitespace=fix your_patch.patch
Updated
You might have a file which was not encoded to UTF-8. To fix that on *nix systems (MacOS, Linux etc.)
iconv -f ascii -t utf-8 fix.patch -o fix_utf8.patch For windows you can try:
Get-Content .\fix.patch | Set-Content -Encoding utf8 fix_utf8.patch If your file may already have color codes in it you can try:
git apply --reject --whitespace myfile.patch Passing in color param seems to fix the problem.
git diff HEAD --color=never > fix.patch And now check returns no error message.
git apply fix.patch --check Changing my .gitconfig file from
[color] ui = always change to always
[color] ui = auto Fixed my problem so I do not have to pass color option when diffing to patch file.
UPDATE: Based on saurabheights answer, you don't even need to brew link gnu-sed, you can do this with pearl. This will removed color characters from the bad patch file as well. There are probably many ways to do this.
perl -pe 's/\x1b.*?[mGKH]//g' bad.patch > good.patch We tried debugging this for a few hours. What finally worked was this:
- Opened patch file with an editor like
VS Code - Changed encoding to
UTF-8 - Changed line endings from
CRLFtoLF - Saved the new file
git apply myPatch.patchworked
Comments
Post a Comment