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

2 messages from 2005-08-17 to 2005-08-17. Participants: Johannes Schindelin, Junio C Hamano.
Thread: https://gitlist.dev/t/1552

## Johannes Schindelin, 2005-08-17 07:01

Subject: [PATCH] When copying or renaming, keep the mode, please
Message-ID: <Pine.LNX.4.63.0508170900420.3236@wgmdd8.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0508170900420.3236%40wgmdd8.biozentrum.uni-wuerzburg.de

```
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
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) {

```

## Junio C Hamano, 2005-08-17 07:32

Subject: Re: [PATCH] When copying or renaming, keep the mode, please
Message-ID: <7v7jel10js.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v7jel10js.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <Pine.LNX.4.63.0508170900420.3236@wgmdd8.biozentrum.uni-wuerzburg.de>

```
Good catch.  Thanks.

```
