threads / patch / 1552

patchWhen copying or renaming, keep the mode, please

Subject: [PATCH] When copying or renaming, keep the mode, please

## tl;dr

2 messages between Aug 17, 2005 and Aug 17, 2005. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Johannes Schindelin· Aug 17, 2005, 07:01 UTC · lore

Without this patch, git-apply does not retain the mode when renaming or copying files.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
 apply.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
8dca30668d7077fa9b9157c3685b3ace8598a514
Show changes to apply.c +6 −2
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) {

← back to recent threads