Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork938
Adding setup for git executable#640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Adding setup for git executable#640
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Added one function (setup) and an alias (refresh simply calls setup).These functions give the developer one more way to configure the gitexecutable path. This also allows the user to interactively adjust thegit executable configured during runtime as these functions dynamicallyupdate the executable path for the entire git module.
Discovered that the remote module also relies on the git executable assuch it also needs to be “refreshed” anytime the git executable isupdated or changed. This was best solved by moving the setup functioninto the top level __init__ where the setup simply callsgit.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 forrefreshing with a bad git path versus a good git path.
Added my name to list.
Added the ability to silence the first refresh warning upon import bysetting an environment variable.
codecov-io commentedJul 9, 2017 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov Report
@@ Coverage Diff @@## master #640 +/- ##========================================= Coverage ? 92.65% ========================================= Files ? 61 Lines ? 10029 Branches ? 0 ========================================= Hits ? 9292 Misses ? 737 Partials ? 0
Continue to review full report at Codecov.
|
Renamed GIT_PYTHON_NOWARN to GIT_PYTHON_INITERR and added values forquiet import, warning import, and raise import. These respectively meanthat no message or error is printed if git is non-existent, a plainwarning is printed but the import succeeds, and an ImportErrorexception is raised.
Removed few remaining references to git.setup function (as it wasrenamed to refresh).
Renamed and cleaned up variable names.
Added additional information in the import warning/error that tells theuser how to silence the warning/error. Also added a GIT_OK variablethat allows for a quick check whether the refresh has succeeded insteadof needing to test an actual git command.
@Byron what else would you need from me for this to be considered? |
Added tilde expansion as part of the refresh function. Added pythonversion check such that we properly capture PermissionError in Python>=3 and OSError in Python <3.
Thanks a ton for your contribution, and my apologies for getting to this PR that late! |
…etup_for_git_executableAdding setup for git executable
Added a convenience function called
refresh
. This functions accomplishes 2 things.The first is that now the user can dynamically set the git path AFTER importing GitPython. In the following example git is neither on the user's $PATH nor is $GIT_PYTHON_GIT_EXECUTABLE defined:
The second is that this also means that the git executable can be dynamically refreshed at any time by simply calling
refresh
: