全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TortoiseSVN使用钩子程序自动填写commit日志1. 目的对于使用TortoiseSVN来提交代码到SVN库时经常需要填写提交日志,该提交日志往往有固定的格式(通常由公司版本管理员规定)。如下图,公司要求每次提交到代码库的提交日志中必须由BUGID,Description,Note,Author等信息组成。每次手动填写或复制这些信息到提交日志中都比较麻烦,本文介绍如何使用客户端钩子脚本(使用python编写)自动填写具有固定格式的信息到提交日志中。2. 工具及版本本文档用到的工具(其它版本的未做测试): TortoiseSVN 1.8.4, Build 24972 - 32 Bit , 2013/11/24 11:15:39 Python 2.7.8上述两个工具都需要安装在SVN客户端(通常为个人PC)上的,其中python是用来执行python编写的钩子脚本的(用其它语言语言编写钩子脚本也是可以的)。3. 原理打开TortoiseSVN-Settings,其中有一项为”Hook Scripts”,这里可以添加TortoiseSVN执行各种操作(如提交前、提交时、提交后等)需要执行的脚本,即“钩子脚本”。点击“Add”可以看到TortoiseSVN支持执行钩子脚本的各种操作:自动填写固定格式的日志信息需要配置的钩子脚本为“Start Commit Hook”,根据TortoiseSVN帮助手册可以找到“Start Commit Hook”的解释:Start-commit会在提交代码对话框显示前执行,显然,自动填写提交日志信息需要在提交对话框显示前完成。每次点击提交时,会在目录C:UsersAdministratorAppDataLocalTemp下生成四个svn临时文件(每个临时文件都有各自不同的用途): 根据帮助手册,可以找到在执行钩子脚本前,TortoiseSVN会依次传给钩子脚本的参数:其中:PATH: 传给脚本的第一个参数,临时文件名字MESSAGEFILE: 传给脚本的第二个参数,临时文件名字,提交操作时会把这个临时文件的内容放到提交日志中。CWD: 传给脚本的第三个参数,临时文件名字,脚本所在的当前目录。从Start-commit的参数解释来分析,我们只需要用脚本(本文用python编写)把需要的日志信息写到第二个参数MESSAGEFILE指向的临时文件中,提交对话框就会把这个临时文件内容作为提交日志。4. 实验1. 安装python到C:Python27 2. 在任意文件夹下新建文件commitMsgTemplate.txt,内容如下:BUGID:Description:Note:Author: zhangsan3. 在文件commitMsgTemplate.txt的同一文件夹下编写python脚本FillCommitMsg.py#!/usr/bin/python # -*- coding: utf-8 -*- import sys if _name_=_main_:fileHandle = open ( commitMsgTemplate.txt ,r)commitMsgContent = fileHandle.read()print(commitMsgContent)fileHandle.close()#传给脚本的第二个参数,临时文件名字,提交操作时会把这个临时文件的内容放到提交日志中svnMsgFile = sys.argv2; print(svnMsgFile)svnMsgFileHandle = open(svnMsgFile, w)svnMsgFileHandle.write(commitMsgContent)svnMsgFileHandle.close()4. 配置TortoiseSVN的start commit hook为执行脚本FillCommitMsg.py5. 修改Working Copy “E:论文”下的文件,点击提交,查看配置结果5. 总结本文实现的自动填写日志的功能也可以用TortoiseSVN的properties功能(tsvn:logtemplate)实现,但该实现会被提交到SVN库,影响到所有用户,所以在被SVN版本管理员许可的前提下,可以把通用的日志信息(如涉及具体用户名等)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 254-2026人工智能语言大模型云端推理部署工具链技术要求
- 2026年09月23日 杭州市滨江区人才测评中心 亚马逊 数据分析工程师 18人
- 江苏徐州市2025-2026学年第一学期期末抽测高二年级化学试卷(含答案)
- 广东江门市礼乐中学2026-2027学年高三上学期开学考数学试题(含简略答案)
- 2026年山东济宁市中考地理真题(无答案)
- 2026-2027学年统编版高中语文选择性必修上册第二单元综合检测A卷(含答案)
- 红斑狼疮患者管理
- 肝硬化病人的护理
- 第一单元素养测试卷(试卷)2026-2027学年一年级语文上册统编版(含答案)
- 德勤 × 中整协 × 艾尔建|中国医美行业 2024 年度洞悉报告
- 越南新矿产资源法下中国企业投资的机遇与挑战:基于政策分析与实践探索
- 第5课 古代希腊 课件 统编版(新教材)历史九年级上册
- 2026(青岛版新教材)数学三年级上册全册数学教学设计
- 失能老年人健康评估服务工作细则
- 2026南方基金金融科技专场校园招聘笔试历年难易错考点试卷带答案解析
- 学校食堂留样柜双人双锁工作制度
- 水厂安全保卫工作制度
- 从零开始学量价分析(短线操盘-盘口分析与A股买卖点实战)
- 2026年湖南省高职单招职业适应性测试考试题库及答案解析
- 躯体症状障碍的诊疗与心理干预
- 公路工程监理培训制度
评论
0/150
提交评论