在使用svn提交时,大家总是忘记写日志,在查询log时,经常一头雾水无法定位。所以想强制大家写日志。
在网上查了一些,看到一篇 http://surpass-li.iteye.com/blog/168937
介绍相当明确。
Windows下subversion强制写日志强制写日志钩子脚本
在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,但是可以通过钩子实现:
将下面的代码存为pre-commit.bat放到版本库的hooks目录下即可,当你不写日志提交的话就会报告错误。(如果你下载使用,需要修改SVN_BINDIR为你的Subversion安装的程序目录)
@echo off
set SVN_BINDIR=d:\Subversion\bin (此处需要修改为你的svn安装目录)
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
%SVN_BINDIR%\svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log message not allowed. Commit aborted! 1>&2
exit 1
但是自己测试了很久还总是报错。最后检查一下发现,原来是因为拷贝的内容每行后边都多了一个空格,删除掉空格后,一切ok。
分享到:
相关推荐
如果团队希望强制用户在提交时必须填写日志,可以借助svn钩子脚本来实现。 svn钩子脚本是服务器端的一种机制,允许在特定事件(如提交)发生时运行自定义脚本。在svn的仓库hooks目录下,你可以找到一个名为`pre-...
Subversion(SVN)作为一种广泛使用的版本控制工具,在实际开发过程中经常需要对提交行为进行一定的规范和限制。例如,为了提高代码审查效率、确保提交信息的完整性与清晰性,可以设置SVN在提交时强制要求添加注释。...
例如,如果提交日志少于指定字符数(例如10个字符),脚本会阻止提交并显示错误信息,提示用户提交必须包含有意义的日志。这样可以确保每次提交都有清晰的描述,有助于团队理解代码变更的目的。 ```bat @echo off ...
在版本控制系统Subversion(SVN)中,对提交信息(message)进行限制是常见的管理实践,这有助于保持代码库的整洁和规范。本实例将详细解释如何限制SVN提交message的字符个数以及检查其格式。 首先,我们需要创建一...
什么是SVN Subversion 为甚么要用SVN 使用版本控制软件有什么好处 SVN的工作模式 log message 信息填写规则 SVN权限设置
WScript.exe "D:\Program Files\TortoiseSVN\SvnHook\log_message_from_LogMsg.js" Wait for the script to finish 选中 --------------------- Log大小Check HookType: Pre_commit_hook E:\AMANO\CSharp_Work\SVN ...
语法为:svn commit -m "LogMessage" [-N] [--no-unlock] PATH。例如:svn commit -m "add test file for my test" test.php。这将提交 test.php 文件到版本库中。 Lock/Unlock svn lock 命令用于锁定文件,防止...
在VisualSVN中,可以使用`svn propset`命令修改`svn:log`属性来更新日志。但是,由于日志修改通常是不推荐的,因此在生产环境中应谨慎操作。确保有足够的权限,并且只有在绝对必要的情况下才进行此类操作。 4. **...
- **svn log**:查看提交的日志信息。 #### 十二、取消修改 ```shell svn revert ``` - **svn revert**:取消未提交的修改。 #### 十三、合并 ```shell svn merge -c version_num svn://10.132.130.200/trunk ``` ...
语法:svn commit -m “LogMessage“ [-N] [--no-unlock] PATH 例如:svn commit -m “add test file for my test“ test.php 简写:svn ci 四、lock 和 unlock 命令 lock 命令用于将文件锁定,unlock 命令用于...
强制写日志意味着在进行提交操作时,用户必须提供有意义的日志消息。这对于追踪代码更改历史和理解项目进展至关重要。预提交钩子脚本可以检查即将提交的变更集是否包含有效的日志信息。例如,一个简单的Python预提交...
##### 5.1 You must input the log message. - **产生原因**:提交时忘记填写提交说明。 - **解决方法**:在提交对话框中填写适当的提交说明。 ##### 5.2 Access denied. - **产生原因**:用户没有相应的权限。 -...
LogMessage,或称为提交信息,是每次在SVN中提交代码时需要填写的一段文本,用于记录本次提交的目的或变更内容。良好的LogMessage习惯可以显著提高团队间的沟通效率,便于后期代码审查和问题追踪。TortoiseSVN在提交...
### VisualSVN配置限制客户端提交时输入Message最少字符数 在版本控制系统中,提交日志(commit message)是非常重要的组成部分,它记录了每一次更改的原因、背景等信息,有助于团队成员了解代码变动的情况,并且...
3. 提交改动:svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock 开关)例如:svn commit -m "add test file for my test" test.php 简写:svn ci 这条命令用于将本地文件...
commitArgs.LogMessage = "提交的注释信息"; string[] pathsToCommit = {"relative/path/to/file1.cs", "relative/path/to/file2.cs"}; client.Commit(pathsToCommit, commitArgs); ``` 这会将指定的文件或...
`svn commit -m LogMessage [-N] [--no-unlock] PATH` 是用于提交更改到SVN仓库的命令。参数`-m`后跟的是提交日志信息,用以描述本次更改的内容。例如,`svn commit -m "add test file for mytest" test.php` 表示将...
**命令**: `svn commit -m "<logMessage>" [-N] [--no-unlock] <path>` - **功能**: 提交本地更改到版本库。 - **参数**: - `-m "<logMessage>"`: 提交注释消息。 - `[-N]`: 不更新工作副本。 - `[--no-unlock]`...
- `svn commit -m "commit message"`: 提交更改到版本库,附带提交消息。 - `svn diff`: 查看工作副本与版本库之间的差异。 - `svn revert`: 撤销工作副本中的未提交更改。 - `svn log`: 查看版本库的提交历史。...
3. 将改动的文件提交到版本库:svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock 开关)例如:svn commit -m “add test file for my test“ test.php 简写:svn ci 二...