-
-
Notifications
You must be signed in to change notification settings - Fork 960
Description
It’s not entirely clear how one is supposed to name GitPython’s exceptions:
- According to the API reference, they live in the
git.excmodule. - In
__init__.py, the very first line doesfrom git.exp import *, meaning they can actually just be referenced in thegitmodule instead if one wishes (is that intentional/public knowledge?).
Then, further down __init__.py, there are two places where except Something as exc is done in module-level code. While those won’t execute on success (and will prevent the module from importing on failure), they do confuse Pylint: if I try to except git.exc.InvalidGitRepositoryError in my own code and then lint it, Pylint complains that Instance of 'GitError' has no 'InvalidGitRepositoryError' member, because it believes the name git.exc itself might actually be an instance of GitError (as it would be if this except clause were taken).
Is it intended that we refer to exception classes from git rather than git.exc? If so, could the documentation be updated? If not—if we are not supposed to know about the from git.exc import *—could the variable names used in those except blocks be modified to not collide with a submodule name?