From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 18D4A1381F3 for ; Tue, 23 Jul 2013 20:16:22 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A87F8E09F0; Tue, 23 Jul 2013 20:16:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4C84DE09F0 for ; Tue, 23 Jul 2013 20:16:21 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5E8EE33E349 for ; Tue, 23 Jul 2013 20:16:20 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 01C79E5458 for ; Tue, 23 Jul 2013 20:16:19 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1374610558.2cd31a4a18ae470dd35ee5326885b1b1cfba2087.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/actions.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 2cd31a4a18ae470dd35ee5326885b1b1cfba2087 X-VCS-Branch: master Date: Tue, 23 Jul 2013 20:16:19 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: ce03abd7-ba01-445b-8f95-9fb49ec86a38 X-Archives-Hash: 8cfe0f49ed71fc67e210cb14cdc52088 commit: 2cd31a4a18ae470dd35ee5326885b1b1cfba2087 Author: Zac Medico gentoo org> AuthorDate: Tue Jul 23 20:15:09 2013 +0000 Commit: Zac Medico gentoo org> CommitDate: Tue Jul 23 20:15:58 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=2cd31a4a emerge --sync: support repo arguments --- pym/_emerge/actions.py | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 5d20e00..c5ee353 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -2025,7 +2025,38 @@ def action_sync(emerge_config, trees=DeprecationWarning, emerge_config.target_config.settings.features emergelog(xterm_titles, " === sync") - for repo in emerge_config.target_config.settings.repositories: + selected_repos = [] + unknown_repo_names = [] + missing_sync_type = [] + if emerge_config.args: + for repo_name in emerge_config.args: + try: + repo = emerge_config.target_config.settings.repositories[repo_name] + except KeyError: + unknown_repo_names.append(repo_name) + else: + selected_repos.append(repo) + if repo.sync_type is None: + missing_sync_type.append(repo) + + if unknown_repo_names: + writemsg_level("!!! %s\n" % _("Unknown repo(s): %s") % + " ".join(unknown_repo_names), + level=logging.ERROR, noiselevel=-1) + + if missing_sync_type: + writemsg_level("!!! %s\n" % + _("Missing sync-type for repo(s): %s") % + " ".join(repo.name for repo in missing_sync_type), + level=logging.ERROR, noiselevel=-1) + + if unknown_repo_names or missing_sync_type: + return 1 + + else: + selected_repos.extend(emerge_config.target_config.settings.repositories) + + for repo in selected_repos: if repo.sync_type is not None: returncode = _sync_repo(emerge_config, repo) if returncode != os.EX_OK: