- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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的方式。
您可能关注的文档
- TMS320LF2406调试入门..doc
- TMS320LF2407A等待状态寄存器和看门狗..doc
- TMS320汇编语言工具用户指南..doc
- TMS8×20英尺和TMS6×20英尺泰博多梯度单层振动筛纵梁修复论文..doc
- TN-C-S系统正确的接线和接地..doc
- TN-S接地方式..doc
- TN_SP001_C1_0ATM原理-11..doc
- TOAD产品简介..docx
- TOC丛书读后经典语句..doc
- Toastmaster范例大全..doc
- 艺术疗法行业商业机会挖掘与战略布局策略研究报告.docx
- 智能家庭娱乐系统行业商业机会挖掘与战略布局策略研究报告.docx
- 医疗纠纷预防和处理条例与医疗事故处理条例的思考分享PPT课件.pptx
- 新冀教版(2025)七年级数学下册《6.1 二元一次方程组》习题课件.pptx
- 新冀教版(2025)七年级数学下册精品课件:6.2.3 二元一次方程组的解法代入、加减消元法的综合应用.pptx
- 导演节目行业市场发展趋势及投资咨询报告.docx
- 制作和服培训行业风险投资态势及投融资策略指引报告.docx
- 医疗转诊的行政服务行业消费市场分析.docx
- 文件装订行业市场发展趋势及投资咨询报告.docx
- 在线语言艺术教育行业分析及未来五至十年行业发展报告.docx
文档评论(0)