svn 提交 commit慢


又修改了一下,上一個方法有問題

 

 #!/bin/bash    ###ubuntu下注意要用bash哦,不然for循環總提示'bad loop....'

export LC_CTYPE=en_US.UTF-8 #語言支持

  SVN_PATH=/usr/bin/svn 

  TEMP_FILE= /var/svn.log

  changed=$(svnlook changed -r $REV $REPOS)

   RMF=`rm -f $TEMP_FILE `

echo "$changed" >> $TEMP_FILE

num=`wc -l $TEMP_FILE | awk '{print $1}'`

for((b=1;b<=$num;b++));do
    LINE_FILE=`awk "NR==$b" $TEMP_FILE | awk '{print $2}'`
    $SVN_PATH  update /var/www/$LINE_FILE  --username svn_user  --password 123456 --no-auth-cache     ###$LINE_FILE,要注意路徑
done

   

說下基本思路:

 因為SVN每次有操作時,會有記錄列表,比如:

     U    file1   //更新文件了

     D   file2  //刪除文件了

     ....

 

所以,把SVN操作的文件列表寫到文件中,然后用shell取出每一行的文件,最后用svn命令更新之, 速度感覺還不錯哈哈!

 

 

 

 

 

--------------------------下面的有些問題------------------

 

最近突然發現svn提交好慢,要等好幾分鍾,網上找一個解決方法,並修改之:

修改svn 的 post-commit文件


REPOS="$1" REV="$2" export LC_CTYPE=en_US.UTF-8 #語言支持 SVN_PATH=/usr/bin/svn #指定 svn 路徑 LOG_FILE=/home/www/svn.log changed=$(svnlook changed -r $REV $REPOS) # 比較改變的文件 echo `whoami`" "`date "+%Y-%m-%d %H:%M:%S"` >> $LOG_FILE echo "$changed" >> $LOG_FILE
# 下面就是調用php處理文件
n
=$'\n' /usr/local/php/bin/php-cgi -q /var/cronShell/svn_post_commit.php "$changed" &

 

 

 

  

 

  最后,提交代碼到svn,看看日志中有沒有對應的文件吧

 

http://blog.sina.com.cn/s/blog_415bd7070100ptb5.html  參考,感謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM