storage:vcs:git: don't accept pygit2 version 0.17.3.
authorW. Trevor King <wking@tremily.us>
Sat, 27 Oct 2012 15:38:20 +0000 (11:38 -0400)
committerW. Trevor King <wking@tremily.us>
Sat, 27 Oct 2012 15:43:19 +0000 (11:43 -0400)
My Repository.revparse_single() series was merged into pygit2 with:

  Merge: 3e9daa4 0238fb7
  Author: J. David Ibáñez <jdavid.ibp@gmail.com>
  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.

libbe/storage/vcs/git.py

index 7cf46524a090bf08307c6bfe66ce4d1e1c254a81..acdce15b9f5bc9cd69aa9ab235f7eec73fed77ce 100644 (file)
@@ -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