Pre-push git hook not executing via SourceTree
Asked by danhendersonweb:

Hi,

I have an issue where I have a pre-push git hook, but it is not executing when pushing via SourceTree. If I push via the command line, it executes fine, and that is copying the exact git command that SourceTree is trying to execute.

I have a pre-commit hook which executes correctly from both the command line and SourceTree, so just not sure why SourceTree and my pre-push hook are not playing nice together.

I have dumbed all hooks down to a simple echo statement to ensure there is nothing wrong with the way the hooks were written, and the outcome of each combination is still the same i.e. all hooks execute except for pre-push when using SourceTree.

Any help would be appreciated, thanks.


Answers:
author: Hamilton Teixeira
body: Same issue. Trying   
Using pre-commit hooks not running,  
Works only from terminal.

Sourcetree 4.0.2 - Minor Release \[4 August 2020\]
macOS Big Sur 11.01 {#toc-hId--1294380850}
-----------------------------------------------------------------------------------------------


author: Vaclav Koldus
body: Still present in 2.7.6. There's something wrong with the environment when not running from terminal. pre-push node hooks don't seem to work at all. When I try to hook up eslint manually, the script executes, but it claims env can't find node. I've got node in the path though. Somehow the git process source tree is creating is not getting it though.


author: Donal O'Brien
body: i still see this on 2.6.3 (134). however, it's happening with a pre-commit hook for me


author: Jacob Muchow
body: Also a bug for me still in 4.0.2 on Big Sur. I just upgraded from version 2.x to see if that would fix it. Opening from cmd line works for me also.


author: Tim Wiel
body: I had this same issue on Mac 10.14.5 with Sourcetree 2.7.6 using pre-commit hooks **however** upgrading to Sourcetree 3.0.0 fixes the issue and I no longer have to open from terminal


author: ion_tichy
body: I also hereby confirm this bug is alive and kicking in Version 2.1 (2.1)


author: ion_tichy
body: It is worse. I just confirmed some information found at <http://stackoverflow.com/questions/17538460/using-git-pre-commit-hooks-in-context-of-github-client/33588294#33588294> that indicates, that executing source tree from the command line (likes so: open /Applications/SourceTree.app/Contents/MacOS/SourceTree) results in the hooks working.

comments: author: aamirafridi
body: I am using it and its working quite well for me


author: ClaireElaine O'Malley
body: I also had this error, and applied J?rgen Simon's fix. It works great for me, so long as I remember to open the app from the command line.

Recommend adding an alias to your .bash_profile:

alias "ost"="open /Applications/SourceTree.app/Contents/MacOS/SourceTree"

or if your SourceTree is installed off your Users/\[self\]/Applications folder:

alias "ost"="open \~/Applications/SourceTree.app/Contents/MacOS/SourceTree"


author: Joe Steele
body: This fix works for me (sort of) but shows me a warning on launch. Still launches though.

Thanks [J?rgen Simon](https://community.atlassian.com/t5/user/viewprofilepage/user-id/484020)!

Here is the warning:

2018-02-09 11:50:36.792 Sourcetree\[48868:2392163\] \[Crashlytics\] Version 3.9.3 (128)

2018-02-09 11:50:36.976 Sourcetree\[48868:2392163\] NSWindow warning: adding an unknown subview: \<INMovableByBackgroundContainerView: 0x7f9215adeb20\>. Break on NSLog to debug.


Tags: git

hook