For most situation it should be enough to find merge base. Previous value was too slow and overhead of doing fetch was significantly higher than saving of transfer.
This adds support for using multiple patterns when checking for file status (added, modified, deleted) and as a result also allows you to use YAML anchors.
* Use micromatch instead of minimatch
micromatch claims to support full Bash 4.3 spec and it actually passes all the tests.
For example this fixes processing of '!(**/*.tsx|**/*.less)' pattern - needed by #45
* Update CHANGELOG.md
* Remove usage of --no-auto-gc option
This option is not supported in git versions < 2.23.
Older git versions might be used in self-hosted runners.
* Update CHANGELOG
* Avoid code repetition with exec() and output listeners
* Improve behavior for new branches and when it's running in ACT
* Detect parent commit only if needed
* Fix parent commit detection for initial commit
* Improve logging
* Improve current ref detection
* Fix issue when base is a already fetched tag
* Fix issue when base is a already fetched tag
* Update README
* Document usage with act
* Use `git log` to get changes in latest commit
* Disable other output for `git log`
* get short name from base ref + improve loggig
* update CHANGELOG
* Add support for specification of change type (add,modified,delete)
* Use NULL as separator in git-diff command output
* Improve PR test workflow
* Fix the workflow file
* Add support for nested arrays of path expressions
* Remove pull_request trigger type options
Default value is fine: opened, synchronize, reopened
* Add CHANGELOG
* Update README
* Do not require user provided `githubToken` input (configure default)
* Remove `edited` from workflow example
Idea of this example was to show setup where CI runs only when particular files are changed. Triggering workflow when name or description of PR is edited is not needed for this use case.