Fix
issue1495, corner case of adding empty files via patching
--- a/mercurial/patch.py Fri Apr 03 11:50:42 2009 -0500
+++ b/mercurial/patch.py Tue Mar 24 23:28:55 2009 +0000
@@ -910,7 +910,7 @@
# else error?
# copy/rename + modify should modify target, not source
gp = changed.get(bfile)
- if gp and gp.op in ('COPY', 'DELETE', 'RENAME'):
+ if gp and gp.op in ('COPY', 'DELETE', 'RENAME', 'ADD'):
afile = bfile
gitworkdone = True
newfile = True
--- a/tests/test-import Fri Apr 03 11:50:42 2009 -0500
+++ b/tests/test-import Tue Mar 24 23:28:55 2009 +0000
@@ -313,3 +313,22 @@
hg import --no-commit -v -s 100 ../rename.diff
hg st -C
cd ..
+
+
+echo '% add empty file from the end of patch (issue 1495)'
+hg init addemptyend
+cd addemptyend
+touch a
+hg addremove
+hg ci -m "commit"
+cat > a.patch <<EOF
+diff --git a/a b/a
+--- a/a
++++ b/a
+@@ -0,0 +1,1 @@
++a
+diff --git a/b b/b
+new file mode 100644
+EOF
+hg import --no-commit a.patch
+cd ..
--- a/tests/test-import.out Fri Apr 03 11:50:42 2009 -0500
+++ b/tests/test-import.out Tue Mar 24 23:28:55 2009 +0000
@@ -293,3 +293,6 @@
adding b
A b
R a
+% add empty file from the end of patch (issue 1495)
+adding a
+applying a.patch