现在工作环境的情况是这样:
虽然很奇怪,但是组织上就是要求这样工作的.
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
分享到:
相关推荐
二、Linux下的svn同步配置 1. **安装**:首先下载并安装Subversion的源码包及其依赖,然后通过`./configure`, `make`, `make install`来编译和安装。 2. **配置路径**:设置svn的安装目录,例如`/opt/subversion/...
在描述中提到的"svn同步web文件"是指通过SVN的hook机制,实现在每次提交(commit)到SVN服务器后,自动将更新的数据发布到Web服务器上,简化项目开发和测试流程。 实现这一功能的关键在于使用SVN的hook脚本,特别是...
- 版本控制:SVN是开源的版本控制系统,用于跟踪项目文件的更改,确保团队成员之间的同步和协作。 - 工作副本:当你从SVN仓库检出代码时,你得到的是一个工作副本,其中包含一个隐藏的.SVN目录,用于存储元数据,...
- **创建仓库**:通过命令行执行`svnadmin create D:\SVN_PRJ`,初始化一个空的SVN仓库。 - **配置权限**:编辑`D:\SVN_PRJ\conf\svnserve.conf`文件,设置访问权限、认证方式及密码数据库路径等参数。 - **添加用户...
例如,在Maven项目中可以使用`svnkit-maven-plugin`来管理和同步SVN仓库。 - 对于IDEA等开发工具,也可以配置SVN插件来简化版本控制操作。 **2. 使用JRebel进行热部署** - **JRebel**是一款强大的Java类加载器插件...
TortoiseSVN是Windows平台下的一个SVN客户端,提供了图形化的操作界面,使得SVN的使用更加直观和便捷。 **SVN工具的安装** 1. **启动安装过程** - 首先,找到下载的SVN安装包,例如`TortoiseSVN-1.6.6.17493-win...
2. **创建仓库**: 使用命令行工具`svnadmin create`创建一个新的SVN仓库。例如: ```bash svnadmin create I:\svn\repos ``` 3. **配置版本存储方式**: 在创建仓库时,可以通过额外参数指定版本存储方式。默认...
TortoiseSVN作为SVN的一个图形化客户端,极大地简化了用户的操作流程,使其成为个人和小型团队管理文件版本的理想工具之一。本文将详细介绍如何在Windows环境下安装和配置SVN服务器及客户端,以及如何利用...
- **结果**:经过上述配置后,所有子模块都将被正确地导入到Eclipse中,并且`target`目录将不再被提交到SVN。 - **建议**: - 定期进行`mvn clean install`以确保项目的依赖项是最新的。 - 使用`mvn eclipse:...
SVN是Subversion的简称,它是一个开源的版本控制系统,用于跟踪文件和目录的修改。通过SVN,开发者可以查看文件的修改历史,比较不同版本之间的差异,合并冲突,以及恢复旧版本。SVN支持多种操作系统,并且有丰富的...
8. **导入项目**:使用TortoiseSVN的Import功能将现有项目导入版本库,通过指定URL(如`svn://localhost/repos1/guestbook`)和提交消息,以及相应的用户凭证。 9. **后续操作**:一旦项目导入,团队成员可以通过...
只需在工作副本目录下右键选择“SVN Update”,即可同步最新的更改。 - **提交(Commit)**:当对工作副本的文件进行了修改,需要将这些更改保存到仓库中,即提交操作。通过“SVN Commit”选项,可以输入本次提交的...
2. **执行重定位命令**:一旦获取了旧的仓库URL,即可使用`svn switch --relocate`命令进行重定位。该命令的基本语法如下: ``` svn switch --relocate <old_url> ``` 其中,`<old_url>`为旧仓库的URL,而`...
值得注意的是,与CVS和SVN不同,Git只会在一个项目的根目录下创建版本控制文件夹,而不会在每个子目录都创建。 #### 四、配置`.gitignore` 为了防止某些不必要的文件被纳入版本控制,例如编译产生的临时文件或特定...
确保每次提交前正确地同步和解决冲突,以避免不必要的问题。 总结:通过以上步骤,我们可以搭建一个基于Maven的Spring + Spring MVC + Mybatis的开发环境,这为构建高效、可维护的企业级Web应用奠定了基础。在实际...
- **解决冲突**:当多个开发者的修改涉及同一文件的相同位置时,SVN会标记冲突区域,需要手动解决。 - **分支与合并**:通过创建分支来进行功能开发,完成后再合并回主分支。 #### 数据库存储过程 存储过程是一种...
SSH开发规范指的是基于Struts2、Spring和Hibernate这三个开源框架的Java Web开发规范。这份文档主要涉及了开发环境、设置规范、编码规范、目录结构、命名规则以及代码组织等多个方面,旨在提高团队协作效率和代码...