zoukankan      html  css  js  c++  java
  • 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
    =$' ' /usr/local/php/bin/php-cgi -q /var/cronShell/svn_post_commit.php "$changed" &
     

      

      最后,提交代码到svn,看看日志中有没有对应的文件吧

    http://blog.sina.com.cn/s/blog_415bd7070100ptb5.html  参考,感谢

  • 相关阅读:
    C++ 项目和资源导引
    C++ 类再探
    C++ 语句函数再探
    leetcode-174. Dungeon Game 地下城游戏
    34. Find First and Last Position of Element in Sorted Array + 二分
    leetcode-27. Remove Element删除元素
    git 使用入门
    MySQL数据库的启动与停止
    C++类型转换
    C++ 获取对象类型
  • 原文地址:https://www.cnblogs.com/flex_fly/p/3638144.html
Copyright © 2011-2022 走看看