Group only changed files within a branch for a release

I am using github to store 1000+ informatica workflows that run in one batch. Of these 1000 workflows only a handful change in each release cycle. All 1000 belong in my master branch. How can I identify or group the most recent changes for a release? Deploying all 1000 workflows is extremely time consuming and unnecessary. Everytime, I create a branch it pulls all the workflows which is fine but for deployment this isn’t what I want. I need some way to identify the files that have recently changed within a given branch.

Hey @vmkoskin and welcome!

That would be quite easy to do. If you tag your releases, you can just run

git diff --name-only <tag of previous release> <tag of this release>

to output a list of file paths of files that changed.

Does that help you out?

Hi @mpboom,
Thank you for responding. We have been creating our releases after we merge to master to avoid having to update the release tag with any code updates. Is there another way? I would need the list before we migrate. Right now we don’t have any automated code deployment as we are just starting out and it will take us time to build scripts to deploy with Informatica’s command line. I just need a way for the person deploying our code to see what specifically has changed so he/she can only deploy that code.

If you’re using Releases on GitHub, GitHub automatically creates a tag upon creating a release. You can use that tag.

You can also compare the current situation (HEAD) to the most recent release:

git diff --name-only <tag of most recent release> HEAD

That would allow you to generate the list of files before the release/tag is actually created.