diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-05-17 02:02:44 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-05-17 02:57:33 -0700 |
commit | 032bea55a3fda805382398020657f738b8176729 (patch) | |
tree | 53e7b5693c5d337202aa7058504e11b3e380534e /builtin-apply.c | |
parent | 5c47f4c6e71e6de08348f837f38a446a2f2b0ed7 (diff) | |
download | git-032bea55a3fda805382398020657f738b8176729.tar.gz git-032bea55a3fda805382398020657f738b8176729.tar.xz |
builtin-apply: do not declare patch is creation when we do not know it
When we see no context nor deleted line in the patch, we used to declare
that the patch creates a new file. But some people create an empty file
and then apply a patch to it. Similarly, a patch that delete everything
is not a deletion patch either.
This commit corrects these two issues. Together with the previous commit,
it allows a diff between an empty file and a line-ful file to be treated
as both creation patch and "add stuff to an existing empty file",
depending on the context. A new test t4126 demonstrates the fix.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-apply.c')
-rw-r--r-- | builtin-apply.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/builtin-apply.c b/builtin-apply.c index 10b1f88a3..1540f28ab 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -1143,21 +1143,6 @@ static int parse_single_patch(char *line, unsigned long size, struct patch *patc if (patch->is_delete < 0 && (newlines || (patch->fragments && patch->fragments->next))) patch->is_delete = 0; - if (!unidiff_zero || context) { - /* If the user says the patch is not generated with - * --unified=0, or if we have seen context lines, - * then not having oldlines means the patch is creation, - * and not having newlines means the patch is deletion. - */ - if (patch->is_new < 0 && !oldlines) { - patch->is_new = 1; - patch->old_name = NULL; - } - if (patch->is_delete < 0 && !newlines) { - patch->is_delete = 1; - patch->new_name = NULL; - } - } if (0 < patch->is_new && oldlines) die("new file %s depends on old contents", patch->new_name); |