又修改了一下,上一个方法有问题

 #!/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- #语言支持
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  参考,感谢

svn 提交 commit慢的更多相关文章

  1. 【技术贴】解决myeclipse SVN 提交代码 commit:remains in tree-conflict错误的解决办法

    [技术贴]解决myeclipse SVN 提交代码 commit:remains in tree-conflict错误的解决办法 错误是:Aborting commit: xxxxx’ remains ...

  2. 【技术贴】解决myeclipse SVN 提交代码 commit:remains in tree-c

    [技术贴]解决myeclipse SVN 提交代码 commit:remains in tree-conflict错误的解决办法 错误是:Aborting commit: xxxxx' remains ...

  3. Subversion代码提交中的org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed异常解决

    : 在切换subversion服务器地址之后,发生的无法正确提交代码的问题org.apache.subversion.javahl.ClientException: svn: E200007: Com ...

  4. svn提交失败 :“svn: E200007: Commit failed”

    引言: 在切换subversion服务器地址之后,发生的无法正确提交代码的问题org.apache.subversion.javahl.ClientException: svn: E200007: C ...

  5. svn提交时提示 Aborting commit: remains in conflict 解决办法,更改svn服务地址

    TortoiseSVN客户端如何更改新的URL 问题: 我们的服务器换了新的URL地址,这时候我们本地的SVN访问帐号和地址就要重新定义了. 解决步骤: 1:重新定义SVN的URL,右键(Tortoi ...

  6. svn 提交代码报错

    svn 提交代码报错 最近新安装了TortoiseSvn 1.92,在上传代码,其中有新增加的文件,出现如下错误: 解决方法: 1.用vs生成patch文件 2.生成的patch文件中讲nonexis ...

  7. svn提交报e200007错误

    org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed异常解决,svncommitfailed 首先2分钟前 ...

  8. linux svn 提交文件时强制填写备注

    很多程序员不爱写注释,特别是svn提交的时候,文件做了什么修改都没有一个简单的备注,往往都是直接提交,这样是非常不利于团队开发的.所以就有了svn提交的时候,强制修改文件的备注. 步骤如下: 1.先找 ...

  9. svn 提交失败

    刚刚使用SVN 提交代码时提示失败. svn: Commit failed (details follow):svn: Can't open file '/home/svn/project/db/tx ...

随机推荐

  1. 【11】在operator=中处理“自我赋值”

    1.自我赋值,看起来愚蠢,但是却合法.有些自我赋值一眼就可看出来.有些自我赋值是潜在的.比如:a[i] = a[j]; *px = *py; 甚至不同类型的指针,都指向同一个地址,也是自我赋值,这一类 ...

  2. android自动填充短信验证码

    自动拦截短信实际上就是在系统注册一个BroadcastReceiver,然后通过设置拦截短信的: filter.addAction("android.provider.Telephony.S ...

  3. 实现微信文章页面 http://mp.weixin.qq.com/s?__biz=MjM5MDI3OTAwMg==&amp;mid=200337417&amp;idx=1&amp;sn=5959ed1d722c7da66b

    首先发了一篇文章,在微信后台.复制文章链接管理员 保存到数据库 $notice_list = $db->getAll(" SELECT `title`,`file_url`,`arti ...

  4. [cocos2dx笔记004] android添加�静态库project

    (基于2.2.2版本号) 这步比較麻烦,不像vs2013那样好设置.參考了非常多文章.还是不能解决这个问题.仅仅有慢慢摸索了.在这里贴出来,希望能让大家能少走点弯路. 还是其于前面的文章提到的myli ...

  5. iOS开发——UI篇OC篇&UICollectionView详解+实例

    UICollectionView详解+实例 实现步骤: 一.新建两个类 1.继承自UIScrollView的子类,比如HMWaterflowView * 瀑布流显示控件,用来显示所有的瀑布流数据 2. ...

  6. Class File Editor: Source not found

    问题: 找不到需要的 *.java 文件就会报以下错误. 解决方案: 1. Window -> preferences -> Java -> Installed JREs 2. 选择 ...

  7. 会话状态Session解析以及原理分析

    我们知道web网站在客户端存储数据有三种形式:1. Cookie   2. hidden(隐藏域) 3.QueryString 其中viewstate什么的都是通过第二种方式隐藏域存储滴. 客户端存储 ...

  8. Python 基础【第七篇】集合

    一.集合的概念: 不同元素的集合 二.集合的方法: 方法 用法 范例 set() 过滤掉重复 设置成为集合 >>> subset=set([1,1,2,3,4,4,6]) >& ...

  9. 获取XML配置数据

    XML结构: <Setting>  <BIG>    <tdHead>      <td TdName="序号" TdWidth=&quo ...

  10. hadoop命令报错:权限问题

    root用户执行hadoop命令报错: [root@vmocdp125 conf]# hadoop fs -ls /user/ [INFO] 17:50:42 main [RetryInvocatio ...