`
rikugun
  • 浏览: 351067 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

2个svn root 同步提交

阅读更多
现在工作环境的情况是这样:
虽然很奇怪,但是组织上就是要求这样工作的.

2个svn root:
一个是工作的svn a, 另一个是其他用途的SVN b

在a 提交以后, b也要提交一份.只要保证内容一致就可以了

写了一个同步脚本,完成这个活.
引用
$CRM 是工作目录 , $LOCAL 是另一个需要同步的 svn, 需要在环境变量中定义


接着要在测试服务器中,先更新svn 然后再 编译文件


#!/bin/bash

filepath=$(pwd)  
TEST_SERVER=XX.XX.XX.XX #服务器地址
LOGIN_NAME=XX #登录名
PASS=XX #登录密码
if echo "$filepath" | grep $CRM
then
        svn ci -m "$1 "
	fpath=${filepath##*CRM/} #过滤实际要同步的目录
	dst_path="$LOCAL_CRM/$fpath" #目标目录
	echo $dst_path
	rsync -r -v -C . $dst_path
	cd $dst_path
	svn up
	svn st
	echo "commit other? [(y)es]/(n)o:"
	read flag
	#echo $flag
	if [[ $flag == n* ]]
	then
		echo bye	
		exit
	fi
	echo "go commit.."	
	svn ci -m "$1 "
        # 在测试服务器上编译
	expect <<EOF
	spawn telnet $TEST_SERVER
	expect "login: "
	send "$LOGIN_NAME\r"
	expect "ssword: "
	send "$PASS\r"
	expect "$ "
	send "cd $fpath\r"
	expect "$ "
	send "svn up && make && make install\r"
	expect "$ "
	send "exit\r"
	expect eof
EOF

else
	 echo "你处在错误的目录!"
fi

0
0
分享到:
评论

相关推荐

    svn同步数据

    二、Linux下的svn同步配置 1. **安装**:首先下载并安装Subversion的源码包及其依赖,然后通过`./configure`, `make`, `make install`来编译和安装。 2. **配置路径**:设置svn的安装目录,例如`/opt/subversion/...

    windows环境下svn同步web文件.docx

    在描述中提到的"svn同步web文件"是指通过SVN的hook机制,实现在每次提交(commit)到SVN服务器后,自动将更新的数据发布到Web服务器上,简化项目开发和测试流程。 实现这一功能的关键在于使用SVN的hook脚本,特别是...

    SVN版本控制清除工具

    - 版本控制:SVN是开源的版本控制系统,用于跟踪项目文件的更改,确保团队成员之间的同步和协作。 - 工作副本:当你从SVN仓库检出代码时,你得到的是一个工作副本,其中包含一个隐藏的.SVN目录,用于存储元数据,...

    Eclipse使用SVN

    - **创建仓库**:通过命令行执行`svnadmin create D:\SVN_PRJ`,初始化一个空的SVN仓库。 - **配置权限**:编辑`D:\SVN_PRJ\conf\svnserve.conf`文件,设置访问权限、认证方式及密码数据库路径等参数。 - **添加用户...

    Linux钩子配置(SVN)

    例如,在Maven项目中可以使用`svnkit-maven-plugin`来管理和同步SVN仓库。 - 对于IDEA等开发工具,也可以配置SVN插件来简化版本控制操作。 **2. 使用JRebel进行热部署** - **JRebel**是一款强大的Java类加载器插件...

    SVN工具安装和使用说明.doc

    TortoiseSVN是Windows平台下的一个SVN客户端,提供了图形化的操作界面,使得SVN的使用更加直观和便捷。 **SVN工具的安装** 1. **启动安装过程** - 首先,找到下载的SVN安装包,例如`TortoiseSVN-1.6.6.17493-win...

    创建svn服务器教程

    2. **创建仓库**: 使用命令行工具`svnadmin create`创建一个新的SVN仓库。例如: ```bash svnadmin create I:\svn\repos ``` 3. **配置版本存储方式**: 在创建仓库时,可以通过额外参数指定版本存储方式。默认...

    SVN安装和简单实用

    TortoiseSVN作为SVN的一个图形化客户端,极大地简化了用户的操作流程,使其成为个人和小型团队管理文件版本的理想工具之一。本文将详细介绍如何在Windows环境下安装和配置SVN服务器及客户端,以及如何利用...

    关于SVN+Maven的eclipse配置方案

    - **结果**:经过上述配置后,所有子模块都将被正确地导入到Eclipse中,并且`target`目录将不再被提交到SVN。 - **建议**: - 定期进行`mvn clean install`以确保项目的依赖项是最新的。 - 使用`mvn eclipse:...

    SVN版本控制

    SVN是Subversion的简称,它是一个开源的版本控制系统,用于跟踪文件和目录的修改。通过SVN,开发者可以查看文件的修改历史,比较不同版本之间的差异,合并冲突,以及恢复旧版本。SVN支持多种操作系统,并且有丰富的...

    snv的安裝和使用

    只需在工作副本目录下右键选择“SVN Update”,即可同步最新的更改。 - **提交(Commit)**:当对工作副本的文件进行了修改,需要将这些更改保存到仓库中,即提交操作。通过“SVN Commit”选项,可以输入本次提交的...

    rolecate重定位

    2. **执行重定位命令**:一旦获取了旧的仓库URL,即可使用`svn switch --relocate`命令进行重定位。该命令的基本语法如下: ``` svn switch --relocate &lt;old_url&gt; ``` 其中,`&lt;old_url&gt;`为旧仓库的URL,而`...

    Eclipse上GIT插件EGIT使用手册.pdf

    值得注意的是,与CVS和SVN不同,Git只会在一个项目的根目录下创建版本控制文件夹,而不会在每个子目录都创建。 #### 四、配置`.gitignore` 为了防止某些不必要的文件被纳入版本控制,例如编译产生的临时文件或特定...

    基于Maven的Spring + Spring MVC + Mybatis的环境搭建.docx

    确保每次提交前正确地同步和解决冲突,以避免不必要的问题。 总结:通过以上步骤,我们可以搭建一个基于Maven的Spring + Spring MVC + Mybatis的开发环境,这为构建高效、可维护的企业级Web应用奠定了基础。在实际...

    深圳部分公司面试问题

    - **解决冲突**:当多个开发者的修改涉及同一文件的相同位置时,SVN会标记冲突区域,需要手动解决。 - **分支与合并**:通过创建分支来进行功能开发,完成后再合并回主分支。 #### 数据库存储过程 存储过程是一种...

    SSH开发规范[文].pdf

    SSH开发规范指的是基于Struts2、Spring和Hibernate这三个开源框架的Java Web开发规范。这份文档主要涉及了开发环境、设置规范、编码规范、目录结构、命名规则以及代码组织等多个方面,旨在提高团队协作效率和代码...

Global site tag (gtag.js) - Google Analytics