如何在TortoiseSVN中使用启动提交钩子来设置自定义日志条目?

如何在TortoiseSVN中使用启动提交钩子来设置自定义日志条目?

How do I use a start commit hook in TortoiseSVN to setup a custom log entry?

我想在提交过程中自动化TortoiseSVN。
具体来说,我想为提交对话框动态创建一个日志条目。

我知道我可以从命令行启动提交对话框,也可以右键单击文件夹并选择svncommit来启动提交对话框。

我想使用启动提交钩子来设置日志条目。
我认为通过在MESSAGEFILE变量中传递条目文件名来解决此问题,但是当我添加一个钩子脚本时,它看不到该变量(在右键单击并选择svncommit后,钩子成功启动)。

当我尝试使用命令行时,我使用了/ logmsgfile参数,但它似乎没有作用。

我正在使用tortoisesvn 1.5.3。


看起来是我自己对由问题引起的API的误解。

解:
1)我已经使用右键菜单的设置区域中的hooks gui向TortoiseSVN添加了一个开始提交钩子脚本。

2)脚本收到3条信息:PATH MESSAGEFILE CWD
有关详细信息,请参见:手册
这些作为命令行参数传递给脚本-出于某种原因,我认为它们被设置为临时环境变量。

然后,我的脚本仅打开第二个争论所指定的文件,并添加自定义文本。

当提交对话框出现时,自定义文本在那里。

3)如果tortoisesvn是从脚本直接启动到提交对话框中,则最好:
例如[tortoiseproc / command:commit / path:。 / closeonend:1]
钩子仍然被调用。


如果只需要静态模板,请设置tsvn:logtemplate属性。

对于动态生成,/ logmsgfile参数确实有效,但似乎需要完整路径。如下所示的批处理文件可能对您有用。

1
2
GenerateLogMsg.exe > tmp.msg
"C:\\Program Files\\TortoiseSVN\\bin\\TortoiseProc.exe" /command:commit /path:. /logmsgfile:"C:\\Documents and Settings\\User\\My Documents\\Visual Studio Projects\\Project\\tmp.msg"


推荐阅读

    linux的u盘启动命令?

    linux的u盘启动命令?,系统,电脑,工具,信息,软件,网上,名称,工作,设备,通用,从

    linux设置路由器命令?

    linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

    linux防火墙命令启动?

    linux防火墙命令启动?,系统,状态,管理,密码,服务,工具,防火墙,网络,信息,软

    linux设置根命令过短?

    linux设置根命令过短?,系统,工作,软件,地址,命令,代码,情况,管理,基础,位置,3

    linux设置路由器命令?

    linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux日志切割命令?

    linux日志切割命令?,服务,系统,工具,名字,时间,日志,网上,资料,信息,数据,Ngi

    linux替换日志命令?

    linux替换日志命令?,服务,系统,软件,代码,信息,文件,日志,首次,可取,工具,lin

    linux命令查找日志?

    linux命令查找日志?,地址,信息,系统,名称,对比,状态,实时,命令,日志,等级,lin

    linux日志移动命令行?

    linux日志移动命令行?,工作,系统,地址,信息,命令,名字,实时,管理,名称,异常,L

    linux关机命令日志?

    linux关机命令日志?,系统,工作,命令,时间,用户,表示,终端,进程,操作,指令,lin

    linux退出启动命令行?

    linux退出启动命令行?,系统,状态,档案,平台,命令,环境,模式,终端,程序,编辑,l

    linux命令提交代码?

    linux命令提交代码?,工作,系统,地址,代码,命令,数据,信息,目录,标准,发行,求

    linux自定义命令行?

    linux自定义命令行?,系统,工作,名称,百度,命令,管理,工具,位置,信息,终端,Lin

    关闭启动linux的命令?

    关闭启动linux的命令?,服务,系统,命令,代码,手机,软件,密码,管理,信息,状态,l

    归档日志命令linux?

    归档日志命令linux?,数据,工作,公司,位置,代理,信息,日志,对比,最新,系统,Ora

    linux命令行设置字体?

    linux命令行设置字体?,系统,工具,终端,软件,电脑,数字,位置,等级,字体,命令,L

    linux日志清除命令?

    linux日志清除命令?,标准,文件,系统,信息,服务,最新,日志,命令,程序,模式,lin

    linux配置自定义命令?

    linux配置自定义命令?,服务,系统,状态,策略,周期,地方,标准,新增,环境,工具,L