Skip to content

Instantly share code, notes, and snippets.

@tomoyamkung
Created April 15, 2013 16:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomoyamkung/5389542 to your computer and use it in GitHub Desktop.
Save tomoyamkung/5389542 to your computer and use it in GitHub Desktop.
[Shell]CVS で指定した2つのタグ間(開始タグと終了タグ)で変更があったファイルを抽出する
#!/bin/sh
IFS="
"
WORK_DIR='./diff'
[ -d ${WORK_DIR} ] && rm -fr ${WORK_DIR}
mkdir ${WORK_DIR}
DIFF_TXT='diff.txt'
cvs -d USER_NAME@HOST:/path/to/repo rdiff -kk -s -u -r BEGIN_TAG -r END_TAG PROJECT_NAME > ${DIFF_TXT}
UPDATE_TXT='diff-update.txt'
PROJECT_HOME=`dirname '/path/to/project'`
grep -e "new;" -e "changed" ${DIFF_TXT} > ${UPDATE_TXT}
for LINE in `cat ${UPDATE_TXT}`
do
FILE=`echo $LINE | awk '{print $2}'`
DIR=`echo ${FILE} | sed -e 's#\(.*/\)\(.*\)#\1#g'`
mkdir -p ${WORK_DIR}/${DIR}
cp -a ${PROJECT_HOME}/${FILE} $WORK_DIR/${DIR}
done
DELETE_TXT='diff-delete.txt'
grep -e "removed" ${DIFF_TXT} > ${DELETE_TXT}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment