svn path=/main/trunk/; revision=4019
#"no downgrade" emerge
"""
- jbigkey=string.join(mybigkey)
- # Prevent cycles where packages are already in the digraph
- if self.digraph.hasnode(jbigkey+" merge") or self.digraph.hasnode(jbigkey+" nomerge"):
+ jbigkey = " ".join(mybigkey) + " merge"
+ if self.digraph.hasnode(jbigkey):
+ if addme:
+ self.digraph.addnode(jbigkey, myparent)
+ return 1
+ jbigkey = " ".join(mybigkey) + " nomerge"
+ if self.digraph.hasnode(jbigkey):
return 1
self.spinner.update()
self.okeys=[]
def addnode(self,mykey,myparent):
+ if mykey == myparent:
+ # Refuse to make a node depend on itself so that the caller doesn't
+ # accidentally create a bogus circular dependency.
+ myparent = None
if not self.dict.has_key(mykey):
self.okeys.append(mykey)
if myparent is None: