From: W. Trevor King Date: Sat, 27 Oct 2012 15:38:20 +0000 (-0400) Subject: storage:vcs:git: don't accept pygit2 version 0.17.3. X-Git-Tag: 1.1.0~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=29d5f3b11cad51fa4b4ffa20cdfc0681d11a0d23;p=be.git storage:vcs:git: don't accept pygit2 version 0.17.3. My Repository.revparse_single() series was merged into pygit2 with: Merge: 3e9daa4 0238fb7 Author: J. David Ibáñez Date: Tue Sep 25 15:10:55 2012 +0200 Merge remote-tracking branch 'wking/revparse' But this happened after the 0.17.3 release. The next pygit2 release should contain the .revparse_single() code. The getattr() hackery works because versions of pygit2 before 0.17.3 lacked a __version__ attribute. --- diff --git a/libbe/storage/vcs/git.py b/libbe/storage/vcs/git.py index 7cf4652..acdce15 100644 --- a/libbe/storage/vcs/git.py +++ b/libbe/storage/vcs/git.py @@ -36,10 +36,10 @@ except ImportError, error: _pygit2 = None _pygit2_import_error = error else: - if not hasattr(_pygit2, '__version__'): + if getattr(_pygit2, '__version__', '0.17.3') == '0.17.3': _pygit2 = None _pygit2_import_error = NotImplementedError( - 'pygit2 <= 0.17.2 not supported') + 'pygit2 <= 0.17.3 not supported') import libbe from ...ui.util import user as _user