I have a freestyle step that runs a bash script which errors out on the line below with “fatal: bad object”
files=$(git diff-tree --no-commit-id --name-only -r "$GITHASH" "$GITHASH"^1)
I can run the same bash script locally just fine as long as I export GITHASH=blahblah
before it. It is being run as a bash script from the first line #!/bin/bash
.
Any ideas why it’s giving this error only in a Codefresh freestyle step?
Hello.
The default shell in freestyle steps is sh. To change it to bash you need to add a ‘shell’ property in your yaml definition as seen here Freestyle · Codefresh | Docs
If that doesn’t work I suggest you simply put the contents into a file such as ‘my-script.sh’ and execute that from the freestyle step instead of the snippet that you have now.
If this still doesn’t work, I suggest you open a ticket with us so that our support team can investigate.