复制 hooks下的 post-commit.tmpl 模板

时间:2022-06-08 04:58:44

  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 文件中看到的文件目录如下图。

复制 hooks下的 post-commit.tmpl 模板

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

复制 hooks下的 post-commit.tmpl 模板

对付小我私家开发,为了实现提交代码后实时预览改削效果,需要能够在处事端自动 checkout,基于 VisualSVN Server 与 .bat 文件实现要领如下:

1. 以项目keys为例,复制 hooks下的 post-commit.tmpl 模板,并改削后缀名为 .bat。

复制 hooks下的 post-commit.tmpl 模板

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 处事 右键属性 登陆面板 设置桌面交互或者打点员权限再试。

复制 hooks下的 post-commit.tmpl 模板

4. 至此,若在客户端改削文件并提交至处事器后,,对应站点目录下的文件也同步更新。