summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-09-12 01:36:28 +0000
committerZac Medico <zmedico@gentoo.org>2009-09-12 01:36:28 +0000
commita399b35ab64bae798a53536ac97f174d3020d3f3 (patch)
tree264b23b6c0715f155ae62394bcd5b13fe3631121
parentd58005499a735dc3d279c8c369251b523b67d3f7 (diff)
downloadportage-a399b35ab64bae798a53536ac97f174d3020d3f3.tar.gz
portage-a399b35ab64bae798a53536ac97f174d3020d3f3.tar.bz2
portage-a399b35ab64bae798a53536ac97f174d3020d3f3.zip
Bug #257660 - Handle directories that are unlisted in Entries, which is normal
when checked out without -P. Thanks to Christian Ruppert <idl0r@gentoo.org> for this patch. svn path=/main/trunk/; revision=14222
-rw-r--r--pym/portage/cvstree.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/portage/cvstree.py b/pym/portage/cvstree.py
index a35c5fcf1..0fd2a54c5 100644
--- a/pym/portage/cvstree.py
+++ b/pym/portage/cvstree.py
@@ -252,7 +252,11 @@ def getentries(mydir,recursive=0):
print mydir,file
if os.path.isdir(mydir+"/"+file):
if file not in entries["dirs"]:
- entries["dirs"][file]={"dirs":{},"files":{}}
+ # It's normal for a directory to be unlisted in Entries
+ # when checked out without -P (see bug #257660).
+ rentries=getentries(mydir+"/"+file,recursive)
+ entries["dirs"][file]["dirs"]=rentries["dirs"]
+ entries["dirs"][file]["files"]=rentries["files"]
if "status" in entries["dirs"][file]:
if "exists" not in entries["dirs"][file]["status"]:
entries["dirs"][file]["status"]+=["exists"]