1. tortoiseSVN

关于 tortoiseSVN 的安装使用详见博文 TortoiseSVN的安装及其简单使用

2. VisualSVN Server

关于 VisualSVN Server 的安装使用详见博文 VisualSVN-Server服务器的搭建

或参考 VisualSVN Server的配置和使用方法(转)

另外需要说明的是,VisualSVN Server 中 tag branch trunk用法,官方并没有给出严格的限制,可参考如下2篇博文:

SVN中trunk,branches,tags用法详解

SVN中tag branch trunk用法详解

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 站点同步的更多相关文章

  1. 【转】Windows(server2008)下使用VisualSVN Server搭建SVN服务器

    参考文献 1.Windows下使用VisualSVN Server搭建SVN服务器(百度经验)  挺好就是没有配图已验证可用 2.在Windows Server 2008上部署SVN代码管理器 把第二 ...

  2. Windows10环境下使用VisualSVN server搭建SVN服务器

    参考: Windows10环境下使用VisualSVN server搭建SVN服务器 要搭建个svn用.之前自己的服务器用的乌龟.后来用了这个VisualSVN server. 具体教程见上链接.暂无 ...

  3. (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  4. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  5. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

  6. Windows下使用VisualSVN Server搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server ...

  7. 1.Windows下使用VisualSVN Server搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server的 ...

  8. 使用VisualSVN Server搭建SVN服务器

    工具: TortoiseSVN-1.8.4.24972-x64-svn-1.8.5(客户端) LanguagePack_1.8.4.24972-x64-zh_CN.msi Setup-Subversi ...

  9. 使用VisualSVN Server搭建SVN服务器(转载)

    转载于http://www.cnblogs.com/greywolf/archive/2013/01/28/2879952.html 使用 VisualSVN Server来实现主要的 SVN功能则要 ...

随机推荐

  1. 二分查找c++实现

    二分查找的算法原理较为简单,在此给出c++代码实现,以及代码中遇到的问题,以及解决方案: # include "iostream" using namespace std; //t ...

  2. photoshop快速把新照片制作成老照片教学

    原图 步骤1 在photoshop中找开需要处理的图片,Ctrl+J复制图片,得到图片1. 步骤2 单击图层面板底部的创建新的填充或调整图层图标,添加色调/饱和度调整图层.调整它的饱合度和明度. 步骤 ...

  3. Android艺术——探究Handler运行机制

    我们从开发的角度来说,Handler是Android 的消息机制的上层接口.说到Handler,大家都会说:哦,Handler这个我知道干什么的,更新UI.没错,Handler的确是用于更新UI的,具 ...

  4. Python抓取天气信息并存储原来这么简单

    我们计划抓取的数据:杭州的天气信息 实现数据抓取的逻辑:使用python 请求 URL,会返回对应的 HTML 信息,我们解析 html,获得自己需要的数据.(很简单的逻辑) 第一步:创建 Pytho ...

  5. NOI2018游记

    Day-1 下午报道,没什么好说的 Day0 先考笔试,开幕式咕到了下午 笔试没什么好说的,反正都是 \(100\) 好像有很多人被gedit坑了? 下午开幕式,很多省的口号都有意思,比如: &quo ...

  6. 【XSY2903】B 莫比乌斯反演

    题目描述 有一个\(n\times n\)的网格,除了左下角的格子外每个格子的中心里都有一个圆,每个圆的半径为\(R\),问你在左下角的格子的中心能看到多少个圆. \(n\leq {10}^9,R_0 ...

  7. x86汇编语言实践(1)

    0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...

  8. jieba 库的使用和好玩的词云

    jieba库的使用: (1)  jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式.全模式和搜索引擎模式,下面是三种模式的特点. 精确模式:试图将语句最精 ...

  9. JS学习笔记Day10

    一.设置或获取元素对象中(标签中)的属性和自定义属性 对象.属性 对象['属性'] 对象.getAttribute('属性名') 对象.setAttribute('属性名','属性值'); 对象.re ...

  10. 20175209 《Java程序设计》第二周学习总结

    教材学习内容总结 二三章介绍的主要是Java中的基本知识:数据类型及转换,数据的输入输出,数组,运算符表达式,和常见的一些语句,这些都是帮助我们学习Java的基本知识,而这些知识很大一部分都和C语言相 ...