Sourcetree stopped enforcing git hooks

Christopher Dura April 8, 2020

All of a sudden, Sourcetree stopped enforcing husky git hooks to lint commit messages. Trying to commit an invalid message using the GUI behaves as if "Bypass commit hooks" is selected, but it is not.

I'm not sure if this happened because of an update to Sourcetree, I write valid commit messages from muscle memory, but over the last few weeks, I've seen invalid commits getting added by other developers. And, I've just now had time to look into it.

Using the command line works as expected.

git commit -m "foo: this should fail"

The above command will fail; however, typing the same commit into Sourcetree GUI succeeds.

Looking at the command history in Sourcetree, it shows that it's skipping the hook, but I don't understand why, this started happening out of the blue.

git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/pg/h0p352h12y12b__wd59m9zhr0000gn/T/SourceTreeTemp.PgpJDA

Can't find npx in PATH: /usr/local/git/libexec/git-core:/Applications/SourceTree.app/Contents/Resources/bin:/usr/local/git/bin:/Applications/SourceTree.app/Contents/Resources/git_local/gitflow:/Applications/SourceTree.app/Contents/Resources/git_local/git-lfs:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

Skipping commit-msg hook

Completed successfully

 

Environment info:

macOS Mojave

Sourcetree: Version 4.0.1 (234)

System Git: 2.23.0

 

1 answer

0 votes
Christopher Dura April 8, 2020

Just going to answer this myself. There is apparently a bug in the popular npm package I used to install the git-hooks, husky:

https://github.com/typicode/husky/issues/639

So, this was not a problem with Sourcetree, sorry :/

If anyone else finds this question, simply downgrade to husky@3.1.0 and that seems to work.

Christopher Dura April 8, 2020

But, there is also bug filed against Sourcetree -- because the underlying cause of Sourcetree not being able to find NODE, is definitely a bug in stree.

https://jira.atlassian.com/browse/SRCTREE-7184

JarrodCN
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
March 3, 2022

I can't even find where the "Bypass commit hooks" option is in Sourcetree :\

Christopher Dura March 3, 2022

@JarrodCN -- When you go to commit in stree, it's beneath the Commit Options... dropdown menu.

Screen Shot 2022-03-03 at 2.01.49 PM.png

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events