UPDATE: решено - если применять так, то не ругается:
git apply --directory=dir1 -p2 patch
> git diff --binary --no-index dir1 dir2 > patch
> cat patch
diff --git a/dir1/deleted-file b/dir1/deleted-file
deleted file mode 100644
index d6459e0..0000000
--- a/dir1/deleted-file
+++ /dev/null
@@ -1 +0,0 @@
-xxx
diff --git a/dir1/existing-nonempty-file b/dir2/existing-nonempty-file
index a29bdeb..8a6a2d0 100644
--- a/dir1/existing-nonempty-file
+++ b/dir2/existing-nonempty-file
@@ -1 +1 @@
-line1
+line2
diff --git a/dir1/favicon.ico b/dir2/favicon.ico
index 17f119909ffcba66c8a48cba1050d724ab0a51aa..c7699ee7122d28aa6851604eaa09d8e20ef990ef 100644
GIT binary patch
literal 15086
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
BpgI5m
literal 1406
zcmeH{u@S;B3`L(4!_kq77D~2&f)%m@8>CIi3Rxj5&{O4(F&KaWl5ZuLa4BgmpX9H9
z`YL`QaC$|7#dQTcp`$WT2c=`93TJ2EqV#>w<z8{?T4+kDu7S2(%q1c@kQ_)3%pJ&l
zh}?VK9gDFSkw;<zv0sCUA|W7w|IB?6O#4j`c8<NzOyKqZ89IH;lM~c?c#3~);iY^F
MyKp<}-`SuW0Mel&SpWb4
diff --git a/dir2/new-empty-file b/dir2/new-empty-file
new file mode 100644
index 0000000..e69de29
diff --git a/dir2/new-nonempty-dir/xxx b/dir2/new-nonempty-dir/xxx
new file mode 100644
index 0000000..1d60b70
--- /dev/null
+++ b/dir2/new-nonempty-dir/xxx
@@ -0,0 +1 @@
+ddd
diff --git a/dir2/new-nonempty-file b/dir2/new-nonempty-file
new file mode 100644
index 0000000..b1a17ba
--- /dev/null
+++ b/dir2/new-nonempty-file
@@ -0,0 +1 @@
+zzz
> git apply --binary patch
fatal: git diff header lacks filename information when removing 1 leading pathname component (line 17)
wtf? может какой-то ключ надо?