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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx
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 */

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]