我主要想在执行 svn 提交时即时更改我的默认提交模板(svn-commit.tmp)。我从论坛上了解到设置 SVN_EDITOR 会有所帮助
setenv SVN_EDITOR "rm svn-commit.tmp && cp $REPO/hooks/log.tmpl svn-commit.tmp && emacs"
Run Code Online (Sandbox Code Playgroud)
但是只有当用户SVN_EDITOR在他的用户环境中设置 如上所述时才会发生这种情况。那么有没有其他明确的方式,当我执行 svn 提交时,我将从不同的位置而不是默认位置打开模板文件。提交模板将更特定于存储库和提交日期。那么有没有一种方法可以在 svn 存储库上设置一些属性来调用不同的提交模板。我应该将它强制执行到所有(特定于存储库)并且它不应该像设置 SVN_EDITOR 那样是特定于用户的。即使我们正在设置,SVN_EDITOR当我们通过调用一些钩子进行 svn 提交时,也可以调用此设置。我知道只有在提交提交后才会调用前后提交挂钩。
我们只使用 svn 命令客户端。
有两种可能的方法,具体取决于您必须使用的 subversion 客户端:
当您查看 TortoiseSVN 帮助的“客户端挂钩脚本”一章时,您会发现以下部分:
开始提交
在显示提交对话框之前调用。如果钩子修改了版本化文件并影响需要提交和/或提交消息的文件列表,您可能希望使用它。但是你应该注意,因为钩子在早期被调用,选择用于提交的对象的完整列表是不可用的。
钩子有以下参数:
因此,您需要实现一个小脚本来根据目录更改 svn 提交模板。但是,您必须关心如何部署客户端挂钩,因为每个用户都必须自己安装它们。
template-file)的目录上定义 svn 属性,并从起始目录向上搜索具有该 svn 属性集的目录。但是,您还必须在客户端上安装该脚本。Subversion 中没有允许使用不同模板而无需在客户端上额外安装的机制。
| 归档时间: |
|
| 查看次数: |
4656 次 |
| 最近记录: |