タイトル通り。
困ったPJの差分リリース用に作った。
$0のディレクトリを取得する方法は別解のほうがよさげ。
#!/bin/sh
# 差分リリース用スクリプト。
# usage: this-script.sh hash1 hash2
#
# 指定したgitのhashの間で編集されたファイルを抽出してtgzに固める
# ファイル名は[リポジトリのディレクトリ名-hash1-hash2.tgz]になる
# あとは対象サーバ上で展開して上書きすればOK(手動ですね)
SCRIPTPATH=$(cd `dirname $0`; pwd)/`basename $0`
BASEDIR=$(dirname $SCRIPTPATH)
CMD=$(echo tar zc --ignore-failed-read -f ${BASEDIR}_$1-$2.tgz $(git diff --name-only $1 $2))
echo $CMD
$CMD
削除されたファイルはとりあえず無視するようにした。