古いブラウザを使用しています。 より速く、より安全なブラウジング体験をお求めなら、今すぐ無料でアップグレードしてください。

Loading...

Subversionでリビジョン間で追加・更新されたファイルのみを抽出する

OS X にはTortoiseSVNがないので若干不便です。 特に差分だけFTPでアップしたいとかいったときに、 リビジョン間の差分をTurtoiseSVNでは取得できるのですが、svnのみではそれはできません。 この差分を抽出するスクリプトをブログで公開されている方のものを拝見して手直ししてみました。 #!/bin/bash N=${1} M=${2} BASEDIR=${3} EXPDIR=${4} if [ $# -ne 4 ] ; then echo "usage: diff_export.sh [from rev.] [to rev.] [base dir] [exp target]" exit fi if [ -e ${EXPDIR} ] ; then echo "error: Export target already exists!" exit fi mkdir -p ${EXPDIR} ENTRIES=`svn diff -r ${N}:${M} ${TARGET} --summarize | grep "^[MA]" | sed -E "s|^[MA]\s*||"` for i in ${ENTRIES} do DIRNAME=`dirname ${EXPDIR}/${i}` mkdir -p ${DIRNAME} svn export -r ${M} ${BASEDIR}/${i} ${EXPDIR}/${i} done winebarrelさんのブログを参考にさせていただきました。ありがとうございました。