I have a Git filter set to do some tidy actions on XML files upon "clean" (meaning when added to the staged list of files to commit). If I do a "git add myfile.xml" from the command line, the "clean" filter fires, and the file that is staged is the tidied version. However, if I stage the file via Sourcetree's UI (in a "split view staging" mode), the file gets added to the staging area without being passed through the "clean" filter's setting.
How can I get the git smudge/clean filters to fire when staging/checking out through the Sourcetree UI?
You mean the script that runs as part of the "clean" filter? The "clean" filter I have currently set to "./myscript.sh", and the script file is in the root folder of the repo itself.
I tried changing the clean filter to "/absolute/path/to/my/repo/myscript.sh", but the same symptom remains; works when doing "git add" from the command line, but not when staging within SourceTree.
Have a look at SRCTREE-3583. Sourcetree is most likely not picking up your script because it is launched as a service and will not pick up your changes to the PATH. You need to extend the PATH that your apps see, checkout http://stackoverflow.com/questions/25385934/setting-environment-variables-via-launchd-conf-no-longer-works-in-os-x-yosemite (mentioned in the issue) or search on how to extend PATH in OS X.
Supported Platforms macOS Sourcetree has a lot to offer and, like many developer tools, finding and using it all can be a challenge, especially for a new user. Everyone might not love ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot