1 |
commit: eff4e326f6feaad6bd1b807bc24eac771419e4ac |
2 |
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jan 29 04:05:30 2014 +0000 |
4 |
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> |
5 |
CommitDate: Wed Jan 29 04:05:30 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=eff4e326 |
7 |
|
8 |
Move the SyncManager initialization out of the loop |
9 |
|
10 |
Make the returncode not bail out of syncing the remaining repos. |
11 |
|
12 |
--- |
13 |
pym/_emerge/actions.py | 8 +++++--- |
14 |
1 file changed, 5 insertions(+), 3 deletions(-) |
15 |
|
16 |
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py |
17 |
index 6306f4d..6f4de04 100644 |
18 |
--- a/pym/_emerge/actions.py |
19 |
+++ b/pym/_emerge/actions.py |
20 |
@@ -1875,13 +1875,13 @@ def action_sync(emerge_config, trees=DeprecationWarning, |
21 |
else: |
22 |
selected_repos.extend(emerge_config.target_config.settings.repositories) |
23 |
|
24 |
+ sync_manager = SyncManager(emerge_config.target_config.settings, emergelog) |
25 |
+ retvals = [] |
26 |
for repo in selected_repos: |
27 |
if repo.sync_type is not None: |
28 |
- sync_manager = SyncManager(emerge_config.target_config.settings, |
29 |
- emergelog) |
30 |
returncode = sync_manager.sync(emerge_config, repo) |
31 |
if returncode != os.EX_OK: |
32 |
- return returncode |
33 |
+ retvals.append(returncode) |
34 |
|
35 |
# Reload the whole config from scratch. |
36 |
portage._sync_mode = False |
37 |
@@ -1916,6 +1916,8 @@ def action_sync(emerge_config, trees=DeprecationWarning, |
38 |
print() |
39 |
|
40 |
display_news_notification(emerge_config.target_config, emerge_config.opts) |
41 |
+ if retvals: |
42 |
+ return retvals[0] |
43 |
return os.EX_OK |