Mercurial > hg-stable
changeset 7971:6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
author | Vsevolod Solovyov <vsevolod.solovyov@gmail.com> |
---|---|
date | Tue, 24 Mar 2009 23:28:55 +0000 |
parents | fd22d7c7b302 |
children | 425a30ddfff6 fd7cc930ab8f |
files | mercurial/patch.py tests/test-import tests/test-import.out |
diffstat | 3 files changed, 23 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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 ..