stefanzweifel / git-auto-commit-action

Automatically commit and push changed files back to GitHub with this GitHub Action for the 80% use case.
MIT License
1.98k stars 227 forks source link

Add "disable_globbing" option to prevent shell from expanding filenames #154

Closed stefanzweifel closed 3 years ago

stefanzweifel commented 3 years ago

Refs #153.


This PR adds a new disable_globbing option to the Action. This will prevent the shell from expanding filenames. You can find more details about globbing in bash here:

Why

As reported in #153, in certain scenarios the Action fails to commit changed files. A test has been added to cover this edge case in https://github.com/stefanzweifel/git-auto-commit-action/commit/e610a5104baa0b55fd8b51e0736cf0a938799589.

My first instinct was to disable globbing globally for all executions. But after reading more about set -o noglob I've decided to hide this feature behind a new option.

My gut tells me, that disabling globbing for all would lead just to more problems. 🤷

Bash Script for local testing

I've used the follwing shell script to test the in #153 reported edge case.

#!/bin/bash

rm -rf issue-153-example;
mkdir issue-153-example;
cd issue-153-example;

git init > /dev/null;

mkdir package;

touch package/module.py;
touch setup.py;

git add .;
git commit -m "Init" > /dev/null;

echo "test" > package/module.py;

# Enable/Disable this line to see the effect.
set -o noglob

git status -s -- *.py;