From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-392066-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1REuoc-0000Pw-TO
	for garchives@archives.gentoo.org; Sat, 15 Oct 2011 03:21:39 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 8A9D221C05E;
	Sat, 15 Oct 2011 03:21:31 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 424F721C05E
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Oct 2011 03:21:31 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 7D9C71B402C
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Oct 2011 03:21:30 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id C418280042
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Oct 2011 03:21:29 +0000 (UTC)
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" <zmedico@gentoo.org>
Message-ID: <1d170ec97f6c9db495ba9cbe9256623e1b946d86.zmedico@gentoo>
Subject: [gentoo-commits] proj/portage:master commit in: bin/
X-VCS-Repository: proj/portage
X-VCS-Files: bin/repoman
X-VCS-Directories: bin/
X-VCS-Committer: zmedico
X-VCS-Committer-Name: Zac Medico
X-VCS-Revision: 1d170ec97f6c9db495ba9cbe9256623e1b946d86
Date: Sat, 15 Oct 2011 03:21:29 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 
X-Archives-Hash: 34fdf08f14132b4e1a6966826d469a7f

commit:     1d170ec97f6c9db495ba9cbe9256623e1b946d86
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 15 03:21:18 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Oct 15 03:21:18 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a=
=3Dcommit;h=3D1d170ec9

repoman: simplify digestgen and gpgsign loops

We can re-use the vcs_files_to_cps() function from commit
9c9145a9e3c2d8d1bcebf791ce2188add656fee2.

---
 bin/repoman |   84 +++++++----------------------------------------------=
-----
 1 files changed, 11 insertions(+), 73 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 4a157e5..ebe06f8 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -2648,87 +2648,25 @@ else:
 			portage.util.write_atomic(x, b''.join(mylines),
 				mode=3D'wb')
=20
+	if repolevel =3D=3D 1:
+		print(green("RepoMan sez:"), "\"You're rather crazy... "
+			"doing the entire repository.\"\n")
+
 	if vcs in ('cvs', 'svn') and (myupdates or myremoved):
-		myfiles =3D myupdates + myremoved
-		for x in range(len(myfiles)-1, -1, -1):
-			if myfiles[x].count("/") < 4-repolevel:
-				del myfiles[x]
-		mydone=3D[]
-		if repolevel=3D=3D3:   # In a package dir
-			repoman_settings["O"] =3D startdir
+
+		for x in sorted(vcs_files_to_cps(
+			chain(myupdates, myremoved, mymanifests))):
+			repoman_settings["O"] =3D os.path.join(repodir, x)
 			digestgen(mysettings=3Drepoman_settings, myportdb=3Dportdb)
-		elif repolevel=3D=3D2: # In a category dir
-			for x in myfiles:
-				xs=3Dx.split("/")
-				if len(xs) < 4-repolevel:
-					continue
-				if xs[0]=3D=3D".":
-					xs=3Dxs[1:]
-				if xs[0] in mydone:
-					continue
-				mydone.append(xs[0])
-				repoman_settings["O"] =3D os.path.join(startdir, xs[0])
-				if not os.path.isdir(repoman_settings["O"]):
-					continue
-				digestgen(mysettings=3Drepoman_settings, myportdb=3Dportdb)
-		elif repolevel=3D=3D1: # repo-cvsroot
-			print(green("RepoMan sez:"), "\"You're rather crazy... doing the enti=
re repository.\"\n")
-			for x in myfiles:
-				xs=3Dx.split("/")
-				if len(xs) < 4-repolevel:
-					continue
-				if xs[0]=3D=3D".":
-					xs=3Dxs[1:]
-				if "/".join(xs[:2]) in mydone:
-					continue
-				mydone.append("/".join(xs[:2]))
-				repoman_settings["O"] =3D os.path.join(startdir, xs[0], xs[1])
-				if not os.path.isdir(repoman_settings["O"]):
-					continue
-				digestgen(mysettings=3Drepoman_settings, myportdb=3Dportdb)
-		else:
-			print(red("I'm confused... I don't know where I am!"))
-			sys.exit(1)
=20
 	signed =3D False
 	if sign_manifests:
 		signed =3D True
-		myfiles =3D myupdates + myremoved + mymanifests
 		try:
-			if repolevel=3D=3D3:   # In a package dir
-				repoman_settings["O"] =3D "."
+			for x in sorted(vcs_files_to_cps(
+				chain(myupdates, myremoved, mymanifests))):
+				repoman_settings["O"] =3D os.path.join(repodir, x)
 				gpgsign(os.path.join(repoman_settings["O"], "Manifest"))
-			elif repolevel=3D=3D2: # In a category dir
-				mydone=3D[]
-				for x in myfiles:
-					xs=3Dx.split("/")
-					if len(xs) < 4-repolevel:
-						continue
-					if xs[0]=3D=3D".":
-						xs=3Dxs[1:]
-					if xs[0] in mydone:
-						continue
-					mydone.append(xs[0])
-					repoman_settings["O"] =3D os.path.join(".", xs[0])
-					if not os.path.isdir(repoman_settings["O"]):
-						continue
-					gpgsign(os.path.join(repoman_settings["O"], "Manifest"))
-			elif repolevel=3D=3D1: # repo-cvsroot
-				print(green("RepoMan sez:"), "\"You're rather crazy... doing the ent=
ire repository.\"\n")
-				mydone=3D[]
-				for x in myfiles:
-					xs=3Dx.split("/")
-					if len(xs) < 4-repolevel:
-						continue
-					if xs[0]=3D=3D".":
-						xs=3Dxs[1:]
-					if "/".join(xs[:2]) in mydone:
-						continue
-					mydone.append("/".join(xs[:2]))
-					repoman_settings["O"] =3D os.path.join(".", xs[0], xs[1])
-					if not os.path.isdir(repoman_settings["O"]):
-						continue
-					gpgsign(os.path.join(repoman_settings["O"], "Manifest"))
 		except portage.exception.PortageException as e:
 			portage.writemsg("!!! %s\n" % str(e))
 			portage.writemsg("!!! Disabled FEATURES=3D'sign'\n")