git rm / format-patch / am fails on my file: patch does not apply
- From
- Ken Tanzer <ken.tanzer@gmail.com>
- Date
- Nov 11, 2013, 02:39 UTC
- Message-ID
- <CAD3a31XPKsnuNE+szw7xgvaDrcxhKZ2jTDHKzTwdwtnCwFb_0w@mail.gmail.com>
I originally posted about this to the git-users list (https://groups.google.com/forum/#!topic/git-users/G5D0bldEbTo). If this would normally be expected to work:
git add <file> git commit git rm <file> git commit git format-patch HEAD~1 git reset --hard HEAD~1 git am 0001*patch
then I'm having a problem with at least one (maybe more) file I have in a repository that seems like a bug. Even if I copy it to a new repository, it will still fail, so it seems something about how git handles the file, which "file" reports as:
ASCII text, with very long lines, with CRLF, CR, LF line terminators
I've confirmed with the following test case on three machines, so it seems reproducible:
mkdir temp_test_case cd temp_test_case git init # my file. Sorry--couldn't find a saner link! wget -O jquery-ui-1.8.custom.min.js http://sourceforge.net/p/agency/code/ci/9358ea4dbe8e1540ec0b8bebfc7770f1bf8be0ec/tree/jquery-ui-1.8.custom.min.js?format=raw git add jquery-ui-1.8.custom.min.js git commit -m 'Adding jquery-ui' git rm jquery-ui-1.8.custom.min.js git commit -m 'Removing jquery-ui' git format-patch HEAD~1 git reset --hard HEAD~1 git am 0001*
The last command reports the following:
Applying: Removing jquery-ui error: patch failed: jquery-ui-1.8.custom.min.js:1 error: jquery-ui-1.8.custom.min.js: patch does not apply Patch failed at 0001 Removing jquery-ui The copy of the patch that failed is found in: /home/user/newtest2/temp_test_case/.git/rebase-apply/patch When you have resolved this problem, run "git am --resolved". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort".
Let me know if I can provide more information, or am missing something obvious! Thanks.
Ken