网站大量收购闲置独家精品文档,联系QQ:2885784924

TortoiseSVN自动填写提交日志..docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TortoiseSVN自动填写提交日志.

TortoiseSVN使用钩子程序自动填写commit日志目的对于使用TortoiseSVN来提交代码到SVN库时经常需要填写提交日志,该提交日志往往有固定的格式(通常由公司版本管理员规定)。如下图,公司要求每次提交到代码库的提交日志中必须由BUGID,Description,Note,Author等信息组成。每次手动填写或复制这些信息到提交日志中都比较麻烦,本文介绍如何使用客户端钩子脚本(使用python编写)自动填写具有固定格式的信息到提交日志中。工具及版本本文档用到的工具(其它版本的未做测试):TortoiseSVN 1.8.4, Build 24972 - 32 Bit , 2013/11/24 11:15:39Python 2.7.8上述两个工具都需要安装在SVN客户端(通常为个人PC)上的,其中python是用来执行python编写的钩子脚本的(用其它语言语言编写钩子脚本也是可以的)。原理打开TortoiseSVN-Settings,其中有一项为”Hook Scripts”,这里可以添加TortoiseSVN执行各种操作(如提交前、提交时、提交后等)需要执行的脚本,即“钩子脚本”。点击“Add…”可以看到TortoiseSVN支持执行钩子脚本的各种操作:自动填写固定格式的日志信息需要配置的钩子脚本为“Start Commit Hook”,根据TortoiseSVN帮助手册可以找到“Start Commit Hook”的解释:Start-commit会在提交代码对话框显示前执行,显然,自动填写提交日志信息需要在提交对话框显示前完成。每次点击提交时,会在目录C:\Users\Administrator\AppData\Local\Temp下生成四个svn临时文件(每个临时文件都有各自不同的用途):根据帮助手册,可以找到在执行钩子脚本前,TortoiseSVN会依次传给钩子脚本的参数:其中:PATH: 传给脚本的第一个参数,临时文件名字MESSAGEFILE:传给脚本的第二个参数,临时文件名字,提交操作时会把这个临时文件的内容放到提交日志中。CWD:传给脚本的第三个参数,临时文件名字,脚本所在的当前目录。从Start-commit的参数解释来分析,我们只需要用脚本(本文用python编写)把需要的日志信息写到第二个参数MESSAGEFILE指向的临时文件中,提交对话框就会把这个临时文件内容作为提交日志。实验安装python到C:\Python27\在任意文件夹下新建文件commitMsgTemplate.txt,内容如下:BUGID:Description:Note:Author: zhangsan在文件commitMsgTemplate.txt的同一文件夹下编写python脚本FillCommitMsg.py#!/usr/bin/python # -*- coding: utf-8 -*- import sysif __name__==__main__:fileHandle = open ( commitMsgTemplate.txt ,r)commitMsgContent = fileHandle.read()print(commitMsgContent)fileHandle.close()#传给脚本的第二个参数,临时文件名字,提交操作时会把这个临时文件的内容放到提交日志中svnMsgFile = sys.argv[2];print(svnMsgFile)svnMsgFileHandle = open(svnMsgFile, w)svnMsgFileHandle.write(commitMsgContent)svnMsgFileHandle.close()配置TortoiseSVN的start commit hook为执行脚本FillCommitMsg.py修改Working Copy “E:\论文”下的文件,点击提交,查看配置结果总结本文实现的自动填写日志的功能也可以用TortoiseSVN的properties功能(tsvn:logtemplate)实现,但该实现会被提交到SVN库,影响到所有用户,所以在被SVN版本管理员许可的前提下,可以把通用的日志信息(如涉及具体用户名等)通过TortoiseSVN的properties功能(tsvn:logtemplate)提交到SVN库让所有用户使用。经实验发现,使用钩子脚本会覆盖tsvn:logtemplate的方式。

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档