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

Using git apply inside a repository but on un-tracked files

From
OPOrion Poplawski <orion@cora.nwra.com>
Date
May 10, 2012, 16:46 UTC
Message-ID
<4FABF0E1.1040902@cora.nwra.com>

I'm a Fedora package which tracks the the package files in git. When the package source is unpacked it is unpacked under the git directory, however these files are not tracked by git.

I tried to use git apply to apply a patch (because it is coming mercurial and has diff --git rename info in it) to the package source. However, the presence of a .git repo in the parent tree caused git apply to refuse to apply the patch, unfortunately silently without any complaint or error return code, even with --verbose. I got it to work by passing the appropriate --directory option, but this took me a long time to figure out due to the lack of a warning messages. Could one be added please? Perhaps like in the attached patch?

TIA,
  Orion
-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder Office                  FAX: 303-415-9702
3380 Mitchell Lane                       orion@nwra.com
Boulder, CO 80301                   http://www.nwra.com


--- apply.c.orig	2012-05-01 22:50:38.000000000 -0600
+++ apply.c	2012-05-10 10:45:10.744088807 -0600
@@ -3631,8 +3631,12 @@
 	if (0 < prefix_length) {
 		int pathlen = strlen(pathname);
 		if (pathlen <= prefix_length ||
-		    memcmp(prefix, pathname, prefix_length))
+		    memcmp(prefix, pathname, prefix_length)) {
+			if (apply_verbosely)
+				error("path '%s' is outide of git repo '%s'",
+				      pathname, prefix);
 			return 0;
+		}
 	}
 
 	/* See if it matches any of exclude/include rule */
Message 1 of 1 in “Using git apply inside a repository but on un-tracked files”
  1. Orion PoplawskiMay 10, 2012

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.