我正在寻找一种方法来在提交前或提交后或任何其他方式执行以下操作。

这就是我需要做的工作

  1. 用户提交文件
  2. 有东西在运行(钩子或其他东西)
  3. #2 中的其他内容应该将静态文本附加到正在提交的文件中

基于此 http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=296576我发现不建议这样做,但必须有一种方法可以在每次提交时将文本附加到文件中。

操作系统: 发送操作系统

我需要它的原因: 通过插入法律声明来保护所有代码文件

有帮助吗?

解决方案 3

到目前为止,唯一可行的解​​决方案是使用 tortoiseSVN 的客户端钩子:

使用 TortoiseSVN 自动插入注释?

不幸的是,这限制了开发人员只能使用 TortoiseSVN。例如,使用 Visual Studio 插件将不起作用:(

如果有人找到任何集中的方法来执行此操作,请在此处发布。

其他提示

查看本章 SVN书籍:

  

虽然钩子脚本几乎可以做任何事情,但钩子脚本作者应该有一个维度显示约束:不要使用钩子脚本修改提交事务。虽然使用钩子脚本来自动纠正提交的文件中存在的错误,缺陷或策略违规可能很诱人,但这样做可能会导致问题。 Subversion保留了某些存储库数据的客户端缓存,如果以这种方式更改提交事务,那些缓存将变得不可思议地过时。这种不一致可能导致意外和意外的行为。您应该只是在预提交挂钩中验证事务,而不是修改事务,如果它不符合所需要求,则拒绝提交。作为奖励,您的用户将学习细心,合规的工作习惯的价值。

我订阅了POV,红色框中的文字应该认真对待。

根据该主题,您可以在预提交挂钩中执行此操作,但这将是一件坏事™如果您绝对必须在文件中包含静态文本,那么最好让开发人员将文本放入其中,然后使用预提交挂钩来验证它是否存在。如果静态文本不存在或不正确,则拒绝提交。

如何以另一种方式工作 - 使用机器人。 这是一个更多的工作,但基本上:接受提交到存储库没有所需的合法部分,并触发机器人看看(或让机器人定期查看)。

机器人然后检查/更新它所关注的文件,检查它们的政策和法律通知,自动添加它需要的任何东西,然后检查更改。这样,subversion的缓存很高兴,法律声明是在所有文件上。开发人员将在下一个更新/提交周期中将更改下拉,就像其他任何更改一样。您甚至可以让机器人自动使用最新的定义更新法律部分,具体取决于您希望的复杂程度。

甚至可以利用像Hudson这样的东西在可用的框架中托管它。

您可以在SVN服务器上安装一个钩子,该钩子将执行脚本并可以将信息附加到文件等。

这里有一些信息: http://svnbook.red-bean.com/en/1.4/svn.ref.reposhooks.post-commit.html

那就是说,为什么地球上你想要这样做?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top