TortoiseSVN自动填写提交日志.docx_第1页
TortoiseSVN自动填写提交日志.docx_第2页
TortoiseSVN自动填写提交日志.docx_第3页
TortoiseSVN自动填写提交日志.docx_第4页
TortoiseSVN自动填写提交日志.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论