_merge_process: don't try to create path up to offset prefix
authorFabian Groffen <grobian@gentoo.org>
Tue, 30 Nov 2010 18:22:01 +0000 (19:22 +0100)
committerFabian Groffen <grobian@gentoo.org>
Tue, 30 Nov 2010 18:22:01 +0000 (19:22 +0100)
A merge conflict went unnoticed, which introduced a regression where
portage would try to create all dirs from root up to the file to merge.
In Prefix, users often don't have permission to write there, and it
isn't necessary.  The search hence can just start from the offset
prefix, since that space is controlled by Portage and should be
writable.

pym/portage/dbapi/vartree.py

index 44d2cd2dfff899cf94c7374c18a273072cc1e118..7e10689397f4a149fabdc91b265dd648154f2032 100644 (file)
@@ -3461,7 +3461,7 @@ class dblink(object):
 
                # we do a first merge; this will recurse through all files in our srcroot but also build up a
                # "second hand" of symlinks to merge later
-               if self.mergeme(srcroot, destroot, outfile, secondhand, "", cfgfiledict, mymtime):
+               if self.mergeme(srcroot, destroot, outfile, secondhand, EPREFIX_LSTRIP, cfgfiledict, mymtime):
                        return 1
 
                # now, it's time for dealing our second hand; we'll loop until we can't merge anymore.  The rest are