git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Aug 17, 2005, 07:01 UTC
Message-ID
<Pine.LNX.4.63.0508170900420.3236@wgmdd8.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) {
Next: Junio C Hamano
Message 1 of 2 in “When copying or renaming, keep the mode, please”
  1. When copying or renaming, keep the mode, pleaseJohannes Schindelin, Aug 17, 2005
  2. Junio C HamanoAug 17, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.