Windows平台下结合 tortoiseSVN 和 VisualSVN Server 搭建SVN服务器并实现 web 站点同步
1. tortoiseSVN
关于 tortoiseSVN 的安装使用详见博文 TortoiseSVN的安装及其简单使用。
2. VisualSVN Server
关于 VisualSVN Server 的安装使用详见博文 VisualSVN-Server服务器的搭建。
或参考 VisualSVN Server的配置和使用方法(转)。
另外需要说明的是,VisualSVN Server 中 tag branch trunk用法,官方并没有给出严格的限制,可参考如下2篇博文:
3. 实现 web 站点同步
在此之前,首先参考阅读 windows下SVN服务器与web 站点的同步。
在web开发过程中,svn客户端将修改提交至服务器后,在默认代码仓库(Repositories)中是无法看到文件的实际目录结构的,比如对于开发项目keys,本地看到的文件目录如下图。

而于服务器端的 Repositories 文件中看到的文件目录如下图。

它并非实际项目文档,而是版本控制相关文件。此时为了在服务器端获得同客户端相同的文档目录,需要在服务器指定一个路径,并以tortoiseSVN checkout。至此在服务器端也获得了同样文件。

对于个人开发,为了实现提交代码后实时预览修改效果,需要能够在服务端自动 checkout,基于 VisualSVN Server 与 .bat 文件实现方法如下:
1. 以项目keys为例,复制 hooks下的 post-commit.tmpl 模板,并修改后缀名为 .bat。

2. 将 post-commit.bat 中文本内容修改为
"C:\Program Files\VisualSVN Server\bin\svn.exe" update "C:\websites\keys" --quiet --username "UserName" --password "Password"
其中 "C:\Program Files\VisualSVN Server\bin\svn.exe" 为可执行程序 svn.exe 的路径,"C:\websites\keys" 为同步目标路径。
注意:用户名和密码文本的上的双引号不能略去。
3. 最关键的一步:就是svn服务端权限的问题;
否则可能会出现下列错误: post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\www\Test' locked
svn: E200031: sqlite: attempt to write a readonly database svn: E200031: sqlite: attempt to write a readonly database
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
原因是Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。解决办法,修改Visual SVN Server 。
简单操作 win+R 运行 services.msc 找到visual svn server 服务 右键属性 登陆面板 设置桌面交互或者管理员权限再试。

4. 至此,若在客户端修改文件并提交至服务器后,对应站点目录下的文件也同步更新。
4. 补充
如果服务端文档目录名修改(如 keys 修改为 keys_new),或将原文档目录删除,另外新建同名目录/文件夹并checkout于 VisualSVN Server,只需修改服务端 Reporsitories 下的目录名(即 keys 修改为 keys_new)。
Windows平台下结合 tortoiseSVN 和 VisualSVN Server 搭建SVN服务器并实现 web 站点同步的更多相关文章
- 【转】Windows(server2008)下使用VisualSVN Server搭建SVN服务器
参考文献 1.Windows下使用VisualSVN Server搭建SVN服务器(百度经验) 挺好就是没有配图已验证可用 2.在Windows Server 2008上部署SVN代码管理器 把第二 ...
- Windows10环境下使用VisualSVN server搭建SVN服务器
参考: Windows10环境下使用VisualSVN server搭建SVN服务器 要搭建个svn用.之前自己的服务器用的乌龟.后来用了这个VisualSVN server. 具体教程见上链接.暂无 ...
- (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】
转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...
- Windows下使用VisualSVN Server搭建SVN服务器
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server ...
- 1.Windows下使用VisualSVN Server搭建SVN服务器
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server的 ...
- 使用VisualSVN Server搭建SVN服务器
工具: TortoiseSVN-1.8.4.24972-x64-svn-1.8.5(客户端) LanguagePack_1.8.4.24972-x64-zh_CN.msi Setup-Subversi ...
- 使用VisualSVN Server搭建SVN服务器(转载)
转载于http://www.cnblogs.com/greywolf/archive/2013/01/28/2879952.html 使用 VisualSVN Server来实现主要的 SVN功能则要 ...
随机推荐
- 基于 HTML5 的工业互联网云平台监控机房 U 位
前言 机柜 U 位管理是一项突破性创新技术--继承了 RFID 标签(电子标签)的优点的同时,完全解决了 RFID 技术(非接触式的自动识别技术)在机房 U 位资产监控场应用景中的四大缺陷,采用工业互 ...
- centos 6.8 搭建svn服务器
1. yum remove subversion #卸载 svn服务 2.下载svn服务器安装包 yum -y install subversion 3.创建SVN版本库 mkdir -p /opt/ ...
- heapsort(Java)(最小堆)
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...
- CGPoint、CGSize、CGRect、CGRectEdge的详细使用
http://blog.sina.com.cn/s/blog_953e22700101r7lz.html 在CGGeometry.h里的 CGPoint.CGSize.CGRect.CGRectEdg ...
- svnsync同步svn
使用svnsync实现已有版本库的镜像svn不支持分布式开发,所以把svn版本库保存在一台服务器上是不安全的.制作一个镜像svn版本库有多种方式,我采用subversion自带的svnsync程序. ...
- 【经典数据结构】B树与B+树
本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 维基百科对B树的定义为“在计算机科学中,B树 ...
- edusoho -A5: ApiBundle UML
edusoho -A5: ApiBundle UML
- npm后台启动nuxt服务之 kill
后台启动 npm run start & ps aux | grep start 根据项目对应的id执行如下命令 kill xxxx
- SpringCloud笔记一:扫盲
目录 前言 什么是微服务? 微服务的优缺点是什么? 微服务之间是如何通讯的? SpringCloud和Dubbo有哪些区别? SpringCloud和SpringBoot的关系? 什么是服务熔断?什么 ...
- PyQt5开发环境搭建
一 写在开头1.1 本节内容开个新坑—“PyQt5系列”,慢慢填.本文主要内容为PyQt5开发环境的搭建. 注意:PyQt 5.10以上的版本在Python 3.6中有BUG,PyQt 5.10版本是 ...