Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Staging a file skips Git filter "clean" actions?

midnightlightning November 16, 2017

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?

1 answer

0 votes
Mikael Sandberg
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 16, 2017

Is the file used for the filter in a directory that is in your PATH variable?

midnightlightning November 16, 2017

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.

Mikael Sandberg
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 16, 2017

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.

midnightlightning November 16, 2017

But if this were PATH-related, wouldn't setting the "clean" filter to the absolute path to the script succeed? I did that and it still fails to do the filter through SourceTree.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events