#!/bin/sh#导出指定版本之间的差异文件 如100到200之间的差异则导出100(不包括)-200(包括)的所有修改SVN_URL="svn://192.168.1.127/porject"if [ $# -eq 0 ] ; then echo "You must useage like " old_version1(不包括) new_version(包括) exit fi1if [ -gt ] ; then echo "You must useage like " old_version1(不包括) new_version(包括) exit fiolD_VERSION1NEW_VERSION=#=导出的目标路径"/app/htdocs/projectWORK_PATH="echo "开始分析版本差异..."DIFF_URL"svn diff -r ${olD_VERSION}:${NEW_VERSION} --summarize --username BUG --password 123456 ${SVN_URL}="echo ${DIFF_URL}if"${WORK_PATH} test ! -e "; then mkdir ${WORK_PATH}fi-p #echo ${DIFF_URL}|sh >${WORK_PATH}_diff.txtDIFF_NUM${DIFF_URL}l`=`if |wc -${DIFF_NUM}-ne [ ]; then echo " 0差异文件共${DIFF_NUM}个,准备导出." DIFF_List${DIFF_URL}` =`#echo ${DIFF_List} SKIPfor NUM=0in=0 ${DIFF_List} FIELD do # ; 长度小于3(A、M、D、AM即增加且修改)即是更新标识,否则为url if# FIELD} -lt 3 ]; then [ ${ SKIPif let NUM+=1"=0 ${FIELD} [ ""D == " ]; then #下一个应该跳过 fi continue SKIP=1 fi #若为删除文件则不必导出if${SKIP} -eq [ ]; then echo ${NUM} 1${FIELD}continue.‘是删除 *** 作,跳过:‘ fi #替换得到相对路径${SVN_URL}} echo DIFF_file=${FIELD//${NUM}/${DIFF_file} file_name.‘ ‘${DIFF_file}` FolDER_name=`basename ${DIFF_file}` FolDER_PATH=`dirname "${WORK_PATH}${FolDER_name}="#echo ${file_name}‘ ‘${FolDER_name}‘ ‘${FolDER_PATH} if" ${FolDER_PATH} test ! -e "; then mkdir ${FolDER_PATH} fi CMD-p "svn export -r ${NEW_VERSION} ‘${SVN_URL}${DIFF_file}‘ ‘${FolDER_PATH}/${file_name}‘ --force="#echo ${CMD} #echo ${NUM}.‘ ‘ ${CMD}sh done echo echo "|版本号:-e "${olD_VERSION}"->"${NEW_VERSION}"\t时间: ""%Y-%m-%d %H:%M:%s $(date +"push_logs.txt echo ")>> /app/svndata/完成"else echo "版本间没有差异"fi
publish.sh 用法
比较两个版本差异
publish.sh old_version new_versionpublish.sh 2055 2056
总结以上是内存溢出为你收集整理的linux svn版本比较全部内容,希望文章能够帮你解决linux svn版本比较所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)