`
Eileenlml
  • 浏览: 72512 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

SVN commit 规范设置

    博客分类:
  • SVN
svn 
阅读更多
在hooks里,创建如下文件pre-commit.bat:
//以rem开头的都是注释
rem Make sure that the log massage contains some text.
//定义两个全局参数用来判断用户输入的内容
set REPOS=%1
set TXN=%2

"C:\Program Files\CollabNet\Subverson server\SVNlook.exe"log -t %TXN% %REPOS% | FindStr [A-Z]
//判断上一句命令是否成功执行,如果ERRORLEVEL值为0则成功否则失败,在这里
//如果成功则会直接跳到OK 节点进行执行
IF %ERRORLEVEL% EQU 0 GOTO OK
echo 因为你提交了空的日志或者没有按照规定提交,所以提交被锁定 1>&2
echo 请提交符合规定的日志信息 1>&2
echo 如:NEW: 1>&2
echo         DEV: 1>&2
echo         REFINE: 1>&2
echo         FIXBUG: 1>&2
echo         MRG: 1>&2
echo   谢谢! 1>&2
exit 1

:OK
rem ---------------------------------------------------------
rem Check if comment is in list of reserved words to not be uesd..
rem ---------------------------------------------------------

"C:\Program Files\CollabNet\Subverson server\SVNlook.exe"log -t %TXN% %REPOS% >c:\file.txt
//这里是开启延迟变量开关,用来延长之前定义的变量的作用范围
setlocal enabledelayedexpansion
rem FOR /F "delims=:"%%a IN (c:\file.txt) DO @echo %%a >c:\file.txt
//查找当前内容中的每行是否都以一下定义的字符串开头
FINDSTR /b "NEW:DEV:REFINE:FIXBUG:MRG:"c:\file.txt
//判断上句命令的反回值是否为成功(为0),如果成功直接跳到OK2节点
if %ERRORLEVEL%EQU 0 GOTO OK2


echo 因为你提交了空的日志或者没有按照规定提交,所以提交被锁定 1>&2
echo 请提交符合规定的日志信息 1>&2
echo 如:NEW: 1>&2
echo         DEV: 1>&2
echo         REFINE: 1>&2
echo         FIXBUG: 1>&2
echo         MRG: 1>&2
echo   谢谢! 1>&2
exit 1

:OK2
//启动批处理文件中环境变量的本地化
setlocal
set REPOS=%1
set TXN=%2
rem check that logmassage contains at least 10 characters
//这里查询文字内容的字符是否大于15个字符
svnlook log "%REPOS%" -t "%TXN%" | findstr"..............">nul
//判断上句命令,如果成功则跳到err节点,说明上句命令条件成立,说明当前日志内容
//不够15个字符
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交日志时必须大于十五个字符!>&2
exit 1


@pause > nul
 
分享到:
评论

相关推荐

    svn 自动 commit 的实现

    "svn自动commit的实现"这个话题涉及到如何自动化svn的提交过程,以提高开发效率并确保代码的及时更新。在实际开发中,尤其是在大型项目或者持续集成的环境中,自动化的提交机制能够极大地简化流程,减少人为错误,并...

    SVN钩子 之 pre-commit

    1. 将`pre-commit.bat`或`pre-commit.exe`放置在SVN服务器的`hooks`目录下。 2. 确保脚本有执行权限。 3. 根据项目需求,编辑脚本内容,定义需要在提交前执行的操作。 4. 测试钩子,确保它按预期工作,并不会阻断...

    SVN使用规范.doc

    "SVN使用规范" SVN(Subversion)是一种版本控制系统,旨在帮助开发者管理代码仓库、追踪修改历史和协作开发。以下是 SVN 使用规范的详细知识点: 目录文件状态说明 * 正常文件:在上一次更新后,与服务器版本已...

    SVN属性配置:必须输入日志/日志模版

    标题中的“SVN属性配置:必须输入日志/日志模版”指的是在使用Subversion(SVN)版本控制系统时,对于提交操作的一个规范设置。SVN允许用户为每个文件或目录设置特定的属性,这些属性可以控制提交行为,比如强制用户...

    详尽的svn使用规范

    在本文中,我们将深入探讨SVN的使用规范,以帮助项目成员高效、有序地进行协作。 一、安装与配置SVN 1. 下载并安装SVN客户端:对于Windows用户,可以选择TortoiseSVN,它提供直观的图形界面。Linux和Mac用户则可以...

    svn提交失败

    检查代码是否有语法错误、未完成的功能或者不符合编码规范的地方。此外,确保你是在干净的工作副本上进行提交,没有未解决的冲突或未添加的新文件。 5. **SVN配置错误**: 检查你的SVN客户端设置,包括用户名、...

    配置管理工具SVN使用规范标准[详].doc

    * 设置功能(Settings):设置SVN的基本配置和参数。 * 系统规使用:了解SVN的使用规则和规范。 SVN是一种功能强大且灵活的版本控制系统,广泛应用于软件开发、文档管理和配置管理等领域。遵守SVN的使用规范标准,...

    svn项目管理

    3. **操作命令**:SVN提供了丰富的命令行工具,如`svn checkout`(获取项目)、`svn commit`(提交更改)、`svn update`(同步最新版本)、`svn diff`(查看差异)等,这些命令构成了日常SVN操作的基础。 4. **分支...

    SVN.rar_svn

    当你准备提交更改时,使用"SVN Commit"将本地更改上传至仓库。在提交前,最好编写有意义的提交信息,便于其他团队成员理解。 4. **更新与合并**:团队协作中,应定期使用"SVN Update"同步仓库的最新变更到本地,...

    SVN使用规则(各阶段中svn的使用方法介绍)

    - **提交(Commit)**:将本地所做的更改提交到版本库中。提交之前最好先执行更新操作,以避免不必要的冲突。 - **差异比较(Diff)**:用于比较文件之间的差异,便于查看具体哪些地方发生了改变。 ##### 3.3 日常使用...

    svn讲座 非常详细

    - 提交更改:使用`svn commit`命令将本地更改提交到服务器。 - 更新工作副本:使用`svn update`命令获取服务器上的最新更改。 - 查看差异:使用`svn diff`命令查看文件的修改差异。 - 解决冲突:当发生冲突时,...

    svn强制写日志和可修改log功能

    当你在svn中执行`svn commit`命令提交更改时,必须提供一个描述性的日志消息。这个消息通常通过命令行参数`-m`或交互式界面提供。如果团队希望强制用户在提交时必须填写日志,可以借助svn钩子脚本来实现。 svn钩子...

    配置管理工具使用_svn

    SVN提供了一套完整的命令来管理这一流程,如检出(checkout)、更新(update)、提交(commit)、添加(add)、删除(delete)等操作。此外,冲突是在多人协作项目中经常遇到的问题,SVN能够检测到文件冲突,并提供...

    svn常用命令介绍

    将本地文件或目录导入到SVN仓库中,此操作不设置工作副本。 3. **检出(svn checkout)**: 获取仓库中的项目到本地工作副本,以便编辑和提交更改。使用`svn co URL`命令。 4. **更新(svn update)**: 更新...

    svn的使用说明

    在上一级目录中找到这个文件,右键选择`SVN Commit`,在确认框中选中被删除的文件,然后点击确定以从仓库中移除。 ### 5. 文件锁定(Lock) 如果你需要独占某个文件进行编辑以防止他人同时修改,可以使用Lock功能。...

    svn版本控制配置

    总之,通过正确配置Android Studio的SVN插件,设置忽略文件,以及恰当关联和提交项目,可以有效地利用SVN进行版本控制,提高团队开发的效率和代码管理的质量。记住,良好的版本控制习惯是确保项目顺利进行的关键。

    SVN目录详细设计教程.rar

    - SVN支持多用户协作,通过权限设置可以控制团队成员对资源的访问。 - 使用SVN的冲突解决机制,帮助团队有效处理并发修改问题。 7. **版本库备份与恢复** - 定期备份版本库,防止数据丢失。 - 使用SVN热备份...

    SVN视频教程学习

    - **提交**:使用`svn commit`命令将本地修改提交到仓库。 - **更新**:使用`svn update`命令同步仓库中的最新变化到本地工作区。 - **状态查看**:使用`svn status`查看当前目录下文件的状态。 - **日志查看**:...

Global site tag (gtag.js) - Google Analytics