RepoConfig: invert repo priority ordering
authorZac Medico <zmedico@gentoo.org>
Mon, 3 Jan 2011 07:12:27 +0000 (23:12 -0800)
committerZac Medico <zmedico@gentoo.org>
Mon, 3 Jan 2011 07:12:27 +0000 (23:12 -0800)
The new ordering is such that higher numbers indicate higher
priority.

pym/portage/repository/config.py
pym/portage/tests/resolver/ResolverPlayground.py

index 281173323ed3eae289c47eae2d6352fe150b1f50..eb44b17f883b7156bd29917c7de3b04e046a5b09 100644 (file)
@@ -157,7 +157,7 @@ class RepoConfig(object):
                        repo_msg.append(indent + "sync: " + self.sync)
                if self.masters:
                        repo_msg.append(indent + "masters: " + " ".join(master.name for master in self.masters))
-               if self.priority:
+               if self.priority is not None:
                        repo_msg.append(indent + "priority: " + str(self.priority))
                if self.aliases:
                        repo_msg.append(indent + "aliases: " + " ".join(self.aliases))
@@ -219,7 +219,7 @@ class RepoConfigLoader(object):
                                        ' '.join(prepos['DEFAULT'].masters)
                        if overlays:
                                #overlay priority is negative because we want them to be looked before any other repo
-                               base_priority = -1
+                               base_priority = 0
                                for ov in overlays:
                                        if os.path.isdir(ov):
                                                repo_opts = default_repo_opts.copy()
@@ -249,10 +249,10 @@ class RepoConfigLoader(object):
                                                repo = prepos[repo.name]
                                                if repo.priority is None:
                                                        if ov == portdir and portdir not in port_ov:
-                                                               repo.priority = 1000
+                                                               repo.priority = -1000
                                                        else:
                                                                repo.priority = base_priority
-                                                               base_priority -= 1
+                                                               base_priority += 1
 
                                        else:
                                                writemsg(_("!!! Invalid PORTDIR_OVERLAY"
@@ -334,7 +334,7 @@ class RepoConfigLoader(object):
                # items where repo.name == key
                prepos_order = [repo.name for key, repo in prepos.items() \
                        if repo.name == key and repo.location is not None]
-               prepos_order.sort(key=repo_priority, reverse=True)
+               prepos_order.sort(key=repo_priority)
 
                if portdir in location_map:
                        portdir_repo = prepos[location_map[portdir]]
index 1289bb74bcbb3874b4db890d8e6156cac1a658b5..5499d64eb1bd33998b6e07f3c6f1819a9a467129 100644 (file)
@@ -297,15 +297,15 @@ class ResolverPlayground(object):
 
                repos_conf_file = os.path.join(user_config_dir, "repos.conf")           
                f = open(repos_conf_file, "w")
-               priority = 999
+               priority = 0
                for repo in sorted(self.repo_dirs.keys()):
                        f.write("[%s]\n" % repo)
                        f.write("LOCATION=%s\n" % self.repo_dirs[repo])
                        if repo == "test_repo":
-                               f.write("PRIORITY=%s\n" % 1000)
+                               f.write("PRIORITY=%s\n" % -1000)
                        else:
                                f.write("PRIORITY=%s\n" % priority)
-                               priority -= 1
+                               priority += 1
                f.close()
 
                for config_file, lines in user_config.items():