博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
svn服务器端的客户端自动更新
阅读量:5730 次
发布时间:2019-06-18

本文共 1207 字,大约阅读时间需要 4 分钟。

先说这个方式的一个弊端,那就是服务器端这边代码不能与svn服务器出现冲突,一旦冲突就失效。

实现原理是,利用svn版本库,hooks目录的bat钩子开展工作。

共在hooks目录下建立3个文件如下:

post-commit.bat 作用是:钩子入口!
postcommit.log 作用是:记录最后一次执行的结果(可以记录最后一次报错)建立一个空文件就好!
post-commit-run.bat 作用是:自动更新的核心部分!

post-commit.bat的代码是:

call %~dp0post-commit-run.bat %* > %~dp0postcommit.log 2>&1

post-commit-run.bat的代码是:

@echo off

SET REPOS=%1

SET REV=%2

SET DIR=%REPOS%/hooks

SET PATH=%PATH%;

SET WORKING_COPY=D:/Websites/www

svn update %WORKING_COPY% --username your_name --password your_pwd

注意填写客户端地址、用户名和密码,这里的是:D:/Websites/www、admin和123456. 

 hooks目录地址:配置密码那边,如图

 

 

另外一个别人的博客,大同小异,只是比较简单,没有做日志而已

在Windows 03 Server上搭建了 VisualSVN 服务器,想要设置成当提交到SVN中的任何修改都同步更新到本机服务器上的WEB目录下。

根据网上各种版本的参考,基本上上使用svn自带的hook功能实现:

在SVN 项目版本的存储目录的hooks 目录中,建立一个post-commit.bat 文件:

@echo off

SET REPOS=%1

SET REV=%2

SET DIR=%REPOS%/hooks

SET PATH=%PATH%;

SET WORKING_COPY=D:/Websites/www

svn update %WORKING_COPY% --username your_name --password your_pwd

注意事项:

1.需要将SVN服务器的bin目录加入到path路径中,加入后,未重启,在命令行下path值立即生效,但是SVN服务器却无法找到,总是提示:

警告: post-commit hook failed (exit code 1) with output:

'svn' 不是内部或外部命令,也不是可运行的程序或批处理文件。

2.需要设置SVN服务对文件桌面系统权限,否则会报无法读写文件的错:

选择本地系统账户,并勾选 允许服务与桌面交互

image

OVER

ORG: 

 

转载于:https://www.cnblogs.com/hfdp/p/5550561.html

你可能感兴趣的文章
HDU Problem 1231 最大连续子序列【dp】
查看>>
codeforces B. The Meeting Place Cannot Be Changed【二分】
查看>>
转载--配置WAMP开发环境
查看>>
Kafka详解与总结(二)
查看>>
文章相似度比较
查看>>
Java NIO学习笔记 三 散点/收集 和频道转换
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
python之路---进程
查看>>
python中,如何将字符串转换为数字(将数字转换为整型),字符串的10转换为整型的10,10.5转换为10...
查看>>
1061. Dating (20)
查看>>
第二次实验的感悟
查看>>
【机器学习】一些基本概念及符号系统
查看>>
页面留白问题
查看>>
因为时间少
查看>>
leetcode 【 Best Time to Buy and Sell Stock II 】python 实现
查看>>
推荐15款创建漂亮幻灯片的 jQuery 插件
查看>>
【算法】CRF
查看>>
windows 8 微软拼音输入法
查看>>
Windows UI风格的设计(7)
查看>>
3. 指针的赋值
查看>>