自动创建SVN branch 并把online code 和trunk code 进行对比

今天收到个需求,不做评论,我只呵呵,废话不多说,看script

#!/bin/bash
i=$(svn list svn://*.*.*.*:9361/projectname | tail -2 | head -1 | cut -c8)
i=$[$i+1]
branch=‘branchname4.9.‘$i

svn mkdir svn://*.*.*.*:9361/projectname/$branch  -m “mkdir”
#svn copy svn://*.*.*.*:9361/projectname/trunk svn://*.*.*.*:9361/projectname/$branch -m "make a $branch" 
echo $branch
mkdir -p /home/svncomparetrunk/application
svn checkout svn://*.*.*.*:9361/projectname/trunk/path/to/application /home/svncomparetrunk/application

find /home/svncomparetrunk -type d -name ".svn" | xargs rm -rf

svn import /home/svncomparetrunk svn://*.*.*.*:9361/projectname/$branch -m "Initial import"
printf "[projectname:/%s]" "$branch" >> /home/svn/projectname/conf/authz
echo ‘@program = rw‘ >> /home/svn/projectname/conf/authz
echo ‘@admin = rw‘ >> /home/svn/projectname/conf/authz
date=`date +‘%Y%m%d%H%M‘`
DIR_A=$(find /home/svncomparetrunk -type f)
DIR_B=$(find /home/svncompareonline -type f)
compare ()
{

for i in $1
       do
          diff $i $2 > /script/svn/difftrunk$date.log
       if [$? -eq 0 ];then
               echo "$i and $2 are the same
               else
               echo "what the fuck!!!"
       fi
done   

}

for i in $DIR_B
       do 
       compare $DIR_A $i
done
rm -rf /home/svncomparetrunk/*
时间: 2024-08-30 06:23:39

自动创建SVN branch 并把online code 和trunk code 进行对比的相关文章

利用MyBatis Generator自动创建代码

如果你使用过hibernate的eclipse插件自动创建DAO文件,那么就容易理解下面介绍的内容:如果你还没有用过hibernate也无妨.下面介绍使用mybatis 3的eclipse插件自动生成相关文件以及如何使用这些文件. eclipse插件安装地址:http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/ 附件有link安装包,link安装方式参考http://maimode.i

oracle分区表按时间自动创建

表分区是一种思想,分区表示一种技术实现.当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO.oracle分区表是oracle数据库提供的一种表分区的实现形式.表进行分区后,逻辑上仍然是一张表,原来的查询SQL同样生效,同时可以采用使用分区查询来优化SQL查询效率,不至于每次都扫描整个表. 根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR'))根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))根据天: INTERVAL(NUMT

svn branch and merge(svn切换分支和合并)详解

下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html 先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图: branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,待开发结束后合并回trunk中,在bran

bat文件自动创建cocos2dx 工程

1. 写在开头 本人写了一个自动创建cocos2dx工程的脚本..bat文件,会修正Application.mk 文件,并且在桌面创建打开项目目录的快捷方式. 使用条件:1. 在本地计算机中已安装python 2.7.6 版本,并将python安装目录加入到 PATH环境变量中. 2. 根据自己的cocos2dx与ndk安装目录,更改脚本最初COCOS2DX_DIR.NDK_DIR变量. 3.本脚本只创建c++语言的cocos2dx工程,创建成功后仍需手动配置c++ build目录. 个人写的脚

【Linux驱动】自动创建设备节点

开始学习驱动的时候,是将驱动程序编译成模块然后用mknod命令手动建立设备节点以提供给应用程序调用.这对于刚开始调试驱动程序的时候常用的一种方法.但是,当有种需要必须在系统启动的时候就将驱动程序就绪,来供应用层程序调用.这时就不能再手动的建立设备节点了,而必须自动的创建设备节点(不需要人为的操作). ★注册类 注册类的目的是为了使mdev可以在/dev/目录下建立设备节点. 首先要定义一个类,利用struct class结构体.这个结构体定义在头文件include/linux/device.h中

ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)

原文:ThinkPHP 自动创建数据.自动验证.自动完成详细例子介绍(十九) 1:自动创建数据 //$name=$_POST['name']; //$password=$_POST['password'];  ---这个注册页面传过来的POST值 下面用了自动穿件create方法就可以不用这个,会行动绑定 $user =M('User'); $User->create();   //会将传过来的$_POST数据对应到数据库的字段 $user->add();   //就可以直接写入 2:自动验证

Ubuntu创建svn服务器并设置提交并更新到网站

创建svn服务器 1.首先安装SVN这个软件 apt-get install subversion 2.在home目录下创建一个名为svn的文件夹(文件夹的名字随便起) mkdir /home/svn 3.创建数据仓库(可以根据需要创建多个) svnadmin create /home/svn/test 4.启动svn网络服务 svnserve -d -r /home/svn 其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址. /home/svn

Jenkins 配合 GitLab 实现分支的自动合并、自动创建 Tag

Jenkins 配合 GitLab 实现分支的自动合并.自动创建 Tag 背景 GitFlow工作流简介 Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提供了用于一个健壮的用于管理大型项目的框架,非常适合用来管理大型项目的发布和维护. 贯穿整个开发周期,master和develop分支是一直存在的,master分支可以被视为稳定的分支, 而develop分支是相对稳定的分支,特性开发会在feature分支上进行,发布会在release分支上进行,而bug修复则会在

自动创建文件夹的两种方法

自动创建文件夹的两种方法 1.CreateDictionary() CreateDirectory(myPath, 0); //在临时文件夹中创建本应用的文件夹 原型为:BOOL WINAPI CreateDirectory(__in  LPCTSTR lpPathName, __in LPSECURITY_ATTRIBUTES lpSecurityAttributes); 其中lpPathName是要创建的目录的路径,第2个涉及安全性问题 传NULL就好了 例如: char path[MAX_