Linux下svn文件提交后自动同步更新到网站目录

在开发的过程将代码提交到SVN后,使用SVN的hook,通过post-commit脚本,在目标文件夹根下执行svn update操作,将更新内容同步到测试环境,这样开发调试非常方便。

post-commit脚本的内容如下:

#!/bin/sh
#修改字符编码
export LANG=en_US.UTF-8   #svn编码是UTF-8,这个主要是防止乱码

REPOS="$1"
REV="$2"
SVN="/usr/bin/svn"
WEB="/home/wwwrooot/code"    #站点目录

#update the code from the SVN
$SVN update(或者up) $WEB --username=username --password=password --non-interactive --no-auth-cache  #设置登陆账号密码并不缓存

同步命令:
svn checkout svn://ip:port/ $WEB –username=username –password=password

注意:

1、需要用export指定编码。
2、需要指定svn全路径。
3、代码CO出来之后,可以进行post-commit脚本的测试了。因为svn的hooks执行的时候不带有任何的环境变量,所以我们不能通过简单的 ./post-commit 进行代码的测试。
4、如果代码的位置很多,可以多写几个 $SVN update ..... 的路径
5、此脚本放在 svn 的 hooks 目录下,并赋予执行权限,否则SVN无法调用执行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提交svn后,想要自动同步到git可以采取以下步骤: 首先,需要确保在本地机器上已经安装并配置好了svn和git。安装和配置过程可以参考官方文档或者相关的教程。 其次,需要在本地机器上创建一个脚本来实现自动同步功能。可以使用任何你熟悉的脚本语言,比如Shell脚本、Python脚本等。 在脚本中,首先需要设置svn和git的相关路径信息,例如svn的代码仓库路径和git的代码仓库路径。然后,可以使用svn命令来获取最新的代码提交记录,通过解析这些记录找到最新的提交的修改文件和对应的修改类型。 接着,可以使用git命令来将这些修改同步到git仓库中。可以使用git命令中的add将修改的文件添加到暂存区,然后使用commit命令提交到git仓库。如果需要将这些修改推送到远程的git仓库,还可以使用git命令中的push来实现。 最后,可以将这个脚本设置为定时任务,例如每隔一段时间运行一次,或者在svn提交后触发运行等。这样,每次svn提交后,脚本就会自动运行,同步到git仓库中。 需要注意的是,在脚本运行的过程中,可能会遇到一些冲突,例如svn和git代码仓库中的文件名、路径的不一致等。在这种情况下,可能需要手动解决这些冲突,然后再进行同步操作。 总之,通过创建并配置一个自动同步脚本,可以方便地实现svn提交后的自动同步到git的功能。这样可以提高团队协作效率,并且保持svn和git代码仓库的同步

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值