◐ Shell
clean mode source ↗

Adding setup for git executable by kenodegard · Pull Request #640 · gitpython-developers/GitPython

added 5 commits

July 9, 2017 18:35
Added one function (setup) and an alias (refresh simply calls setup).
These functions give the developer one more way to configure the git
executable path. This also allows the user to interactively adjust the
git executable configured during runtime as these functions dynamically
update the executable path for the entire git module.
Discovered that the remote module also relies on the git executable as
such it also needs to be “refreshed” anytime the git executable is
updated or changed. This was best solved by moving the setup function
into the top level __init__ where the setup simply calls
git.cmd.Git.refresh and git.remote.FetchInfo.refresh.
Renamed to simplify and avoid issue with nose tests trying to use
`setup` as a setup for testing. Unittest implements basic test for
refreshing with a bad git path versus a good git path.
Added the ability to silence the first refresh warning upon import by
setting an environment variable.
Renamed GIT_PYTHON_NOWARN to GIT_PYTHON_INITERR and added values for
quiet import, warning import, and raise import. These respectively mean
that no message or error is printed if git is non-existent, a plain
warning is printed but the import succeeds, and an ImportError
exception is raised.
Removed few remaining references to git.setup function (as it was
renamed to refresh).
Renamed and cleaned up variable names.
Added additional information in the import warning/error that tells the
user how to silence the warning/error. Also added a GIT_OK variable
that allows for a quick check whether the refresh has succeeded instead
of needing to test an actual git command.
Added tilde expansion as part of the refresh function. Added python
version check such that we properly capture PermissionError in Python
>=3 and OSError in Python <3.

@Byron

riley-martine pushed a commit to riley-martine/GitPython that referenced this pull request

Dec 7, 2023
…etup_for_git_executable

Adding setup for git executable