public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/repository/
Date: Sun, 10 Mar 2013 08:07:36 +0000 (UTC)	[thread overview]
Message-ID: <1362902841.99780dbda44e9813a1414594320870f130940a07.zmedico@gentoo> (raw)

commit:     99780dbda44e9813a1414594320870f130940a07
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 10 08:07:21 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Mar 10 08:07:21 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=99780dbd

RepoConfig: always map unaliased when available

This fixes get_name_for_location so that it always returns the
unaliased repo name, rather than (randomly) returning aliases.

---
 pym/portage/repository/config.py |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index 5aef4f7..30eac93 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -490,9 +490,15 @@ class RepoConfigLoader(object):
 			for repo in prepos.values()
 			if repo.location is not None and repo.missing_repo_name)
 
-		#Take aliases into account.
-		new_prepos = {}
+		# Do this before expanding aliases, so that location_map and
+		# treemap consistently map unaliased names whenever available.
 		for repo_name, repo in prepos.items():
+			if repo.location is not None:
+				location_map[repo.location] = repo_name
+				treemap[repo_name] = repo.location
+
+		# Add alias mappings, but never replace unaliased mappings.
+		for repo_name, repo in list(prepos.items()):
 			names = set()
 			names.add(repo_name)
 			if repo.aliases:
@@ -500,17 +506,19 @@ class RepoConfigLoader(object):
 				names.update(aliases)
 
 			for name in names:
-				if name in new_prepos:
+				if name in prepos and prepos[name].location is not None:
+					if name == repo_name:
+						# unaliased names already handled earlier
+						continue
 					writemsg_level(_("!!! Repository name or alias '%s', " + \
 						"defined for repository '%s', overrides " + \
 						"existing alias or repository.\n") % (name, repo_name), level=logging.WARNING, noiselevel=-1)
-				new_prepos[name] = repo
-		prepos = new_prepos
-
-		for (name, r) in prepos.items():
-			if r.location is not None:
-				location_map[r.location] = name
-				treemap[name] = r.location
+					# Never replace an unaliased mapping with
+					# an aliased mapping.
+					continue
+				prepos[name] = repo
+				if repo.location is not None:
+					treemap[name] = repo.location
 
 		# filter duplicates from aliases, by only including
 		# items where repo.name == key


             reply	other threads:[~2013-03-10  8:07 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-10  8:07 Zac Medico [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-07-16  5:55 [gentoo-commits] proj/portage:master commit in: pym/portage/repository/ Zac Medico
2018-02-01 20:51 Michał Górny
2017-08-28  6:20 Zac Medico
2015-12-13 21:56 Zac Medico
2015-12-09  3:07 Zac Medico
2015-11-23 21:10 Arfrever Frehtes Taifersar Arahesis
2015-11-23 20:49 Arfrever Frehtes Taifersar Arahesis
2015-11-23 20:41 Arfrever Frehtes Taifersar Arahesis
2015-09-24 19:54 Brian Dolbec
2015-07-14 21:31 Brian Dolbec
2015-05-21  4:09 Mike Frysinger
2015-02-09 21:36 Brian Dolbec
2015-02-03 20:57 Brian Dolbec
2015-02-03 20:57 Brian Dolbec
2015-02-02 18:50 Brian Dolbec
2015-02-02 18:35 Brian Dolbec
2014-12-04 20:04 [gentoo-commits] proj/portage:plugin-sync " Brian Dolbec
2014-12-04 20:16 ` [gentoo-commits] proj/portage:master " Brian Dolbec
2014-02-09  7:27 Arfrever Frehtes Taifersar Arahesis
2013-09-23 20:59 Zac Medico
2013-09-23 20:44 Zac Medico
2013-09-23 20:43 Zac Medico
2013-09-15 14:10 Zac Medico
2013-09-15 10:58 Zac Medico
2013-09-13  9:14 Arfrever Frehtes Taifersar Arahesis
2013-08-22 16:22 Zac Medico
2013-08-08 16:04 Zac Medico
2013-07-29 17:23 Zac Medico
2013-07-25 21:41 Zac Medico
2013-07-25 19:55 Zac Medico
2013-07-25 18:46 Arfrever Frehtes Taifersar Arahesis
2013-07-25 18:25 Arfrever Frehtes Taifersar Arahesis
2013-07-24 20:42 Zac Medico
2013-07-23 21:53 Arfrever Frehtes Taifersar Arahesis
2013-07-23  5:56 Zac Medico
2013-07-23  4:45 Zac Medico
2013-07-23  4:42 Zac Medico
2013-07-14  7:57 Arfrever Frehtes Taifersar Arahesis
2013-07-14  7:49 Arfrever Frehtes Taifersar Arahesis
2013-06-28  1:54 Zac Medico
2013-06-26  3:32 Arfrever Frehtes Taifersar Arahesis
2013-06-24 23:42 Arfrever Frehtes Taifersar Arahesis
2013-06-24 22:03 Arfrever Frehtes Taifersar Arahesis
2013-06-24 21:47 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:45 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:40 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:24 Zac Medico
2013-06-24 18:57 Zac Medico
2013-06-24 17:04 Arfrever Frehtes Taifersar Arahesis
2013-06-19 19:22 Zac Medico
2013-06-19 19:11 Zac Medico
2013-06-19 18:02 Zac Medico
2013-06-19  5:55 Zac Medico
2013-06-19  4:49 Zac Medico
2013-06-19  3:58 Zac Medico
2013-06-19  3:42 Zac Medico
2013-06-19  2:19 Zac Medico
2013-06-19  1:58 Zac Medico
2013-06-18 21:20 Zac Medico
2013-06-18 17:47 Zac Medico
2013-06-18 16:14 Zac Medico
2013-03-29 21:43 Zac Medico
2013-03-20 18:38 Zac Medico
2013-03-10  8:31 Zac Medico
2013-03-10  8:22 Zac Medico
2013-01-24 20:01 Zac Medico
2012-06-06  0:11 Zac Medico
2012-05-11 23:28 Zac Medico
2012-02-03 22:41 Zac Medico
2012-01-08  3:12 Arfrever Frehtes Taifersar Arahesis
2012-01-08  3:12 Arfrever Frehtes Taifersar Arahesis
2011-12-28  8:16 Zac Medico
2011-12-25 19:43 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:57 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:26 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:14 Arfrever Frehtes Taifersar Arahesis
2011-12-18  3:05 Arfrever Frehtes Taifersar Arahesis
2011-12-13 22:19 Zac Medico
2011-10-29  6:15 Zac Medico
2011-10-28  7:17 Zac Medico
2011-10-28  6:48 Zac Medico
2011-10-28  6:20 Zac Medico
2011-10-28  5:38 Zac Medico
2011-10-28  5:30 Zac Medico
2011-10-28  5:15 Zac Medico
2011-10-27 19:41 Zac Medico
2011-10-27  5:55 Zac Medico
2011-10-27  5:32 Zac Medico
2011-10-27  5:09 Zac Medico
2011-10-25 21:44 Zac Medico
2011-10-25 21:44 Zac Medico
2011-10-16  6:18 Zac Medico
2011-10-09 19:10 Zac Medico
2011-10-09 19:10 Zac Medico
2011-10-08 23:23 Zac Medico
2011-10-08 21:41 Arfrever Frehtes Taifersar Arahesis
2011-10-05  1:11 Arfrever Frehtes Taifersar Arahesis
2011-10-04 15:33 Zac Medico
2011-10-03 20:14 Zac Medico
2011-10-03 18:33 Zac Medico
2011-09-30 22:05 Zac Medico
2011-09-17 18:08 Zac Medico
2011-09-12 21:27 Zac Medico
2011-09-12 21:27 Zac Medico
2011-07-08 16:36 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1362902841.99780dbda44e9813a1414594320870f130940a07.zmedico@gentoo \
    --to=zmedico@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox