【SourceTree】差分抽出後のzipファイルに日付をつける【カスタム操作】


SourceTreeで差分抽出する方法はこちら
https://ics.media/entry/4475

上記の記事を踏まえて、少し手を加えたのがこちら
※Windows版

if "%2" EQU "" (
  set PARAM1=HEAD
  set PARAM2=%1
) else (
  set PARAM1=%1
  set PARAM2=%2
)

setlocal enabledelayedexpansion
set RET_DIR=
for /F "usebackq" %%i in (`git diff --name-only %PARAM1% %PARAM2% --diff-filter=ACMR`) do (
  set RET_DIR=!RET_DIR! "%%i"
)

set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%

git archive --format=zip --prefix=diff_%TODAY%/ %PARAM1% %RET_DIR% -o diff_%TODAY%.zip

zipファイル名 => diff_20180530.zip
zipファイルのルートフォルダ名 => diff_20180530