Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git create patch with diff

Tags:

git

patch

I tried doing

git diff 13.1_dev sale_edit > patch.diff 

Then I tried doing git apply patch.diff in another branch, but I got patch does not apply. How do I create patch files from diffs that I can use with git apply?

Errors received:

$ git apply --ignore-space-change --ignore-whitespace diff.diff  diff.diff:9: trailing whitespace.  diff.diff:10: trailing whitespace.     function set_change_sale_date()  diff.diff:12: space before tab in indent.       $this->sale_lib->set_change_sale_date($this->input->post('change_sale_date')); diff.diff:14: trailing whitespace.  diff.diff:15: trailing whitespace.     function set_change_sale_date_enable()  warning: application/controllers/sales.php has type 100755, expected 100644 error: patch failed: application/controllers/sales.php:520 error: application/controllers/sales.php: patch does not apply warning: application/language/english/sales_lang.php has type 100755, expected 100644 error: patch failed: application/language/english/sales_lang.php:134 error: application/language/english/sales_lang.php: patch does not apply warning: application/libraries/Sale_lib.php has type 100755, expected 100644 error: patch failed: application/models/sale.php:170 error: application/models/sale.php: patch does not apply warning: application/views/sales/register.php has type 100755, expected 100644 error: patch failed: application/views/sales/register.php:361 error: application/views/sales/register.php: patch does not apply 

I'm trying this on Mac

like image 267
Chris Muench Avatar asked Apr 13 '13 22:04

Chris Muench


1 Answers

Try a:

git apply --ignore-space-change --ignore-whitespace patch.diff 

As mentioned in "git: patch does not apply", this can be caused by:

  • the line endings differing between the local file system and the remote repo.
    User core.eol in .gitattributes file is a good approach (see "git force file encoding on commit")
  • the execution bit ('x').
    That can lead you to set git config core.filemode false, followed by a git reset --hard HEAD (make sure you don't have uncommitted changes, or they would be lost).
like image 80
VonC Avatar answered Oct 25 '22 17:10

VonC