Without this patch, git-apply does not retain the mode when renaming or copying files.
Signed-off-by: Johannes Schindelin <[EMAIL PROTECTED]> --- apply.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) 8dca30668d7077fa9b9157c3685b3ace8598a514 diff --git a/apply.c b/apply.c --- a/apply.c +++ b/apply.c @@ -1043,8 +1043,12 @@ static int check_patch(struct patch *pat return error("%s: already exists in working directory", new_name); if (errno != ENOENT) return error("%s: %s", new_name, strerror(errno)); - if (!patch->new_mode) - patch->new_mode = S_IFREG | 0644; + if (!patch->new_mode) { + if (patch->is_new) + patch->new_mode = S_IFREG | 0644; + else + patch->new_mode = patch->old_mode; + } } if (new_name && old_name) { - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html