summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-10-14 22:14:05 +0000
committerZac Medico <zmedico@gentoo.org>2008-10-14 22:14:05 +0000
commit32c6549b6cef314706a4e139c7c3bff576dc2ef8 (patch)
treeb69db46906fda187fee7dc1d96b6760a861b00cd
parent9b4fe57cc01c4654cb07888d983c60fe6567529a (diff)
downloadportage-32c6549b6cef314706a4e139c7c3bff576dc2ef8.tar.gz
portage-32c6549b6cef314706a4e139c7c3bff576dc2ef8.tar.bz2
portage-32c6549b6cef314706a4e139c7c3bff576dc2ef8.zip
Bug #229033 - When a Manifest is added automatically by repoman, it's in the
"mynew" list, so move manifest paths from that list to the "mymanifests" list when necessary. svn path=/main/trunk/; revision=11692
-rwxr-xr-xbin/repoman19
1 files changed, 17 insertions, 2 deletions
diff --git a/bin/repoman b/bin/repoman
index 5c2f03a56..f7831cf50 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1738,8 +1738,23 @@ else:
# Manifests need to be regenerated after all other commits, so don't commit
# them now even if they have changed.
- mymanifests = [f for f in mychanged if "Manifest" == os.path.basename(f)]
- mychanged = [f for f in mychanged if "Manifest" != os.path.basename(f)]
+ mymanifests = set()
+ changed_set = set()
+ new_set = set()
+ for f in mychanged:
+ if "Manifest" == os.path.basename(f):
+ mymanifests.add(f)
+ else:
+ changed_set.add(f)
+ for f in mynew:
+ if "Manifest" == os.path.basename(f):
+ mymanifests.add(f)
+ else:
+ new_set.add(f)
+ mychanged = list(changed_set)
+ mynew = list(new_set)
+ mymanifests = list(mymanifests)
+ del changed_set, new_set
myupdates = mychanged + mynew
myheaders = []
mydirty = []