commit:     0d1d2b8dccdd5ce9f99358fe842fb968a0423a25
Author:     Nicolas Porcel <nicolasporcel06 <AT> gmail <DOT> com>
AuthorDate: Sun Sep 17 23:29:27 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 23:59:11 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=0d1d2b8d

Fix emerge --info when using webrsync (bug 630538)

When calling retrieve_head from a SyncBase object, it is expected to
raise a NotImplementedError. However, all classes that do not inherit
from NewBase will raise an AttributeError which is not caught.

Fixes: 0e1699ad6b3f ("emerge: Add head commit per repo to --info")

 pym/portage/sync/syncbase.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pym/portage/sync/syncbase.py b/pym/portage/sync/syncbase.py
index 05e4d69d4..43b667fb0 100644
--- a/pym/portage/sync/syncbase.py
+++ b/pym/portage/sync/syncbase.py
@@ -102,6 +102,10 @@ class SyncBase(object):
                                paths.extend(_SUBMODULE_PATH_MAP[name])
                return tuple(paths)
 
+       def retrieve_head(self, **kwargs):
+               '''Get information about the head commit'''
+               raise NotImplementedError
+
 
 class NewBase(SyncBase):
        '''Subclasses Syncbase adding a new() and runs it
@@ -133,7 +137,3 @@ class NewBase(SyncBase):
                '''Update existing repository
                '''
                raise NotImplementedError
-
-       def retrieve_head(self, **kwargs):
-               '''Get information about the head commit'''
-               raise NotImplementedError

Reply via email to