I'm looking to create a custom action that will generate an archive file containing only the modified files within a specific commit. Here is the working git call:
git archive -o update.zip HEAD $(git diff-tree --no-commit-id --name-only -r COMMITID)
This works fine on the mac side and also when called directly from the command line but fails when called via a batch file. I suspect there is some kind of syntax issue specifically related to writing this call within a batch file but I'm unable to figure it out. The error generated is:
unknown option `no-commit-id`
I noticed that if I remove the no-commit-id and name-only options the error becomes:
fatal: path not found: $(git
Any help would be greatly appreciated!
That's right. I was able to get an answer from StackOverflow:
setlocal enabledelayedexpansion set output= for /f "delims=" %%a in ('git diff-tree --no-commit-id --name-only -r %1^^') do ( set output=!output! "%%a" ) git archive -o update.zip HEAD %output% endlocal
Badges are a great way to show off community activity, whether you’re a newbie or a Champion.Learn more
Supported Platforms macOS Windows To make using Sourcetree as simple yet powerful as possible we embed (bundle) dependencies such as Git, Git LFS, and Mercurial. We strive to keep these...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs