在Windows下配置svn服务端钩子程序(部分)
需求一,svn提交时必须填写log日志的需求,如何进行配置呢?请看下面。
需要在版本库目录下找到hooks文件夹,我的版本库是dxoffice,所以是这个目录,你要找自己的目录
然后进入,创建一个pre-commit.bat文件,提交之前要做的一个hooks文件,编辑,将以下内容拷贝到文件中并进行保存。
@echo off
::
:: Stops commits that have empty log messages.
:: @echo off set svnlook="D:/Program Files/VisualSVN Server/bin/svnlook.exe" //此处是你的svnanzhu
setlocal rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2 rem check for an empty log message
%svnlook% log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0 :err
echo. 1>&2
echo Your commit has been blocked because you didn't give any log message 1>&2 //此处是返回给客户端的错误信息
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
exit 1
如果您有最少提交多少字的需求,只需在%svnlook% log %REPOS% -t %TXN% | findstr . > nul这行代码中找到findstr .在这里有一个 点表示最少输入1个字符,如果是10个点代表最少输入10个字符,以此类推。保存之后,不用重启服务器就可以进行尝试
需求二:提交svn后,需要同步web目录
方法同上面差不多,创建post-commit.bat文件,然后将下面代码拷贝到里面
@echo off
SET REPOS=%1
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
SET WORKING_COPY=E:/svn_test //此处是你的项目路径,此路径必须是一个svn的路径,这意味着你已经checkout出了源码
svn update %WORKING_COPY% --username name --password password //输入svn用户名密码
还有一个注意问题——Visual SVN Server的权限,否则可能会出现下列错误:
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 服务 右键属性 先停止服务之后,再设置登陆,设置桌面交互或者管理员权限
注:http://blog.csdn.net/ght521/article/details/52355778
在Windows下配置svn服务端钩子程序(部分)的更多相关文章
- 在Windows下配置svn服务端钩子程序
需求一,svn提交时必须填写log日志的需求 @echo off :: :: Stops commits that have empty log messages. :: @echo off set ...
- windows下配置svn的https访问
svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...
- windows下搭建svn服务端、客户端
1.安装SVN服务器subversion以及客户端TortoiseSVN,在网上下载windows版的subversion,TortoiseSVN并安装,比如我的服务端安装在了D:\Program F ...
- Windows下配置SVN服务器
2013-09-03 21:40:34 1. 下载安装svn软件 1.1 服务端svn 下载地址:http://subversion.apache.org/packages.html 默认安装路径:D ...
- WINDOWS下配置SVN代码管理
服务器端使用 visualsvn server,客户端使用tortoiseSvn. 一.服务器端 1.首先,下载visualsvn server,安装到服务器.下载地址: http://www.vis ...
- Windows下基于IIS服务的SSL服务器的配置
Windows下基于IIS服务的SSL服务器的配置 实验环境 Windows Server 2008 R1(CA) Windows Server 2008 R2(web服务器) Windows 7 x ...
- iOS开发MAC下配置svn
版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Comm ...
- windows下架设SVN服务器并设置开机启动
原文:windows下架设SVN服务器并设置开机启动 1.安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装 ...
- [源码管理] Windows下搭建SVN服务器
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...
随机推荐
- 一个简单的JavaScript实例
1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- P2571 [SCOI2010]传送带
P2571 [SCOI2010]传送带 三分套三分. 前提条件:P3382 [模板]三分法 三分,求区间内单峰函数的最大/最小值. 我们把两条线段都跑三分,先ab后cd,求出最小值. 可以直接将二维坐 ...
- Charles手机端抓包--证书
应用测试: Charles通过无线对手机进行抓包 测试系统: ubuntu 16.04 LTS 测试手机: IOS 10.3(14E277) Charles版本: Charles 4.1.4 手机证书 ...
- Java中的三大框架分别有什么用
一.Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是 ...
- Git 基础笔记整理1
Git 官网:http://git-scm.com/ git教程1:http://www.yiibai.com/git/home.html git教程2 :http://www.liaoxuefeng ...
- Makefile使用总结【转】
1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之 ...
- datagridview控件的使用
http://home.cnblogs.com/group/topic/40730.html datagridview定位到最后一行的方法 this.dataGridView2.CurrentCell ...
- [luogu 2458][SDOI2006]保安站岗
题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下超市的所有通道呈一棵树的形状:某些通道之间可以互 ...
- JS进阶系列之this
在javascript中,this的指向是在执行上下文的创建阶段确定的,其实只要知道不同执行方式下,this的指向分别是是什么,就能很好的掌握this这个让人摸不透的东西. 一.全局执行 全局执行又分 ...
- python 普通文件读写
with open('ttt.txt', 'w') as f: f.write('456.098909,9.090988,7.878765') with open('ttt.txt', 'r') as ...