현재 저장소를 마이그레이션 중이고 Subversion 커밋에 사용할 주요 변수를 만들었습니다. 그 중 가장 중요한 것은 커밋 메시지이고, 날짜는 해당 변수의 일부로 커밋하려고합니다. svn ci
작업, 메시지에 대해 svn ci -m"$(LOGMSG)"
을 사용할 수 있기 때문에 메시지가 상당히 쉽지만 명시 적으로 DATE 및 AUTHOR 필드를 커밋에 추가하는 방법을 모르는 사람이 있습니까?SVN 커밋에 대한 BASH 변수
for ((r=$CURREV; r<$ENDREV+1; r++))
do
git svn fetch -r $CURREV
# move whitelists subversion folder
find "$GIT_FOLDER" \
-mindepth 1 \
-maxdepth 1 \
-regextype posix-egrep \
-not -regex ".*/(${EXCLUDE_PATTERN})$" \
-exec mv -t "$SVN_FOLDER" '{}' '+'
# set opts for SVN logging
CID=$(git log --format=oneline |awk '{print $1}')
AUTHOR='Jd Daniel <[email protected]>'
DATE=$(git log --date=iso |grep 'Date' |awk -v N=2 '{sep=""; for (i=N; i<=NF; i++) {printf("%s%s",sep,$i); sep=OFS}; printf("\n")}')
LOGMSG=$(git log --oneline |awk -v N=2 '{sep=""; for (i=N; i<=NF; i++) {printf("%s%s",sep,$i); sep=OFS}; printf("\n")}')
# move to svn
cd $SVN_FOLDER
ADD=$(svn st |grep '?\|M' |awk '{printf "%s ", $2}'); [ -z "$ADD" ] || svn add $ADD
REM=$(svn st |grep 'D\|!' |awk '{printf "%s ", $2}'); [ -z "$REM" ] || svn rm $REM
# do commit
svn ci -m 'GIT ID: '$CID$'\n'$LOGMSG
break # just on rev for now
done
python svn bindings를 사용해보세요. http://stackoverflow.com/questions/1448894/subversion-python-bindings-documentation. 여기서 한 사람은 어떻게 든 그것을 해결할 수있는 방법을 찾았습니다. http://www.wandisco.com/svnforum/threads/38846-Change-svn-author-on-commit. 그리고이 스크립트는 개념을 제공 할 수 있습니다 : http://svn.apache.org/repos/asf/subversion/trunk/tools/examples/revplist.py – konsolebox