If it is deleted, it is deleted. Do not set the current mode to it. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- * This updates 1f7903a (builtin-apply: prevent non-explicit permission changes, 2009-01-02). It should not change the behaviour in the normal case, because we do not explicitly check the final mode of a deletion patch. We do check the deletion patch creates an empty result, and we might want to fix that someday, and at that point the existing code will break. Also I suspect this codepath has been broken the use case 7a07841 (git-apply: handle a patch that touches the same path more than once better, 2008-06-27) wanted to support, and if that is the case, this would fix it. builtin-apply.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/builtin-apply.c b/builtin-apply.c index b415daf..1e7f917 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -2453,7 +2453,7 @@ static int check_preimage(struct patch *patch, struct cache_entry **ce, struct s if (st_mode != patch->old_mode) fprintf(stderr, "warning: %s has type %o, expected %o\n", old_name, st_mode, patch->old_mode); - if (!patch->new_mode) + if (!patch->new_mode && !patch->is_delete) patch->new_mode = st_mode; return 0; -- 1.6.1.1.278.g6a817 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html