Chinaunix首页 | 论坛 | 博客
  • 博客访问: 164313
  • 博文数量: 18
  • 博客积分: 285
  • 博客等级: 二等列兵
  • 技术积分: 201
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-02 11:26
文章分类

全部博文(18)

文章存档

2015年(2)

2014年(4)

2012年(12)

我的朋友

分类: LINUX

2014-04-26 18:48:41

原文:http://maosidiaoxian.iteye.com/blog/1931771

    这次改进内容主要是输出是否需要更新时以彩色输出。 因为要更新的代码对应于几个仓库中,所以各个模块的本地工作空间都要有一个更新当前目录代码的脚本,再用一个脚本调用它们来进行代码更新。所以我就写了一个脚本位于工作目录的根目录,再在其他几个模块的目录创建软链接,指向这个脚本。 
代码如下:

点击(此处)折叠或打开

  1. #!/bin/sh
  2. revision=`svn info |grep "Last Changed Rev:" |awk '{print $4}'`
  3. echo "the revision is $revision"
  4. URL=`svn info |grep URL: |awk '{print $2}'`
  5. echo "the url is $URL"
  6. svnRevision=`svn info $URL |grep "Last Changed Rev:" |awk '{print $4}'`
  7. echo "the revision in svn is $svnRevision"
  8. if [[ $revision < $svnRevision ]] ; then
  9. echo -e "\033[0;31;40m need svn up \033[0m"
  10. svn up
  11. echo "svn up finish"
  12. exit 1
  13. else
  14. echo -e "\033[0;38;40m no need svn up \033[0m"
  15. exit 0
  16. fi
然后是调用它的脚本,调用上面的脚本对代码目录进行更新,并将执行结果输出到以当前时间命名的日志文件当中。当然,上面输出的如"\033[0;31;40m need svn up \033[0m",用cat查看,还是有颜色的。 
脚本代码如下:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. ROOT=`pwd`
  3. LOGDIR=$ROOT/logsvn
  4. if [ ! -d "$LOGDIR" ]; then
  5. mkdir $LOGDIR
  6. fi
  7. FILENAME=$LOGDIR/`date |sed -n 's/\://pg' |awk '{print $2 $3 $4}'`.log
  8. function svnUp()
  9. {
  10. echo "check $1"
  11. echo "check $1" >> $FILENAME
  12. cd $ROOT/$1
  13. ./svnUpCheck.sh >> $FILENAME
  14. if [[ $? = 1 ]]; then
  15. echo "svn up"
  16. fi
  17. revision=`svn info |grep "Last Changed Rev:" |awk '{print $4}'`
  18. changedate=`svn info |grep "Last Changed Date:" |awk '{print $4 "\x20" $5}'`
  19. echo "$revision $changedate" >> $FILENAME
  20. date >> $FILENAME
  21. echo >> $FILENAME
  22. }
  23. svnUp android
  24. svnUp linux
  25. svnUp system
  26. svnUp tvserver/common_magellan
  27. svnUp image_file_creator
  28. svnUp tvserver/system

第一个脚本不用做任何改变,放到svn工作空间都能成功执行。 
第二个脚本经过简单修改,如下面调用时传入的参数,为svn工作目录,修改之后同样可用于其他项目。

阅读(4503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~