Fix environment-dependent git pre-commit hooks
See original GitHub issueThis is a follow up to #9948 and vscode#90178. After looking at the problem of environment-dependent pre-commit hooks from both the extension’s and the editor’s side, it seems to me the best solution would be for the Python extension to make sure that whatever environment the user has selected in the status bar is also active during the commit process (using VS Code’s source control panel).
I think this would be the expected behavior by most users if you asked them. At least it took me by surprise that my active environment doesn’t apply during the commit process even though it’s indicated in the status bar. Hence why it took me a while to figure out this is the reason my pre-commit hooks aren’t working.
One way to activate the status bar environment in the spawned git process might be as @joaomoreno mentioned to have a git
wrapper that’s local to the source control panel (i.e. doesn’t affect git
anywhere else) and simply activates the environment before handing over to real git
.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:118
- Comments:35 (9 by maintainers)
Top GitHub Comments
Just make the git commit hooks respect the python environment selected in the bottom status bar. Why are we sitting here 3 months later arguing about this?
Here is how I managed to get it working:
Create file
test.sh
that first activates the environmentvirtual_environment
and then runs the test usingpytest
:And call it from within
.pre-commit-config.yaml