我如何要求在同一个subversion提交中包含两个文件?

时间:2011-09-15 14:42:51

标签: svn pre-commit-hook

我使用数据库开发项目,这些数据库作为MySQL工作台文件维护,这是一个二进制文件。由于您无法轻易区分提交之间的二进制文件的差异,因此需要在提交之前更新该模式的SQL创建脚本。这样,您可以运行SQL文件的diff来查看更改的内容。

有时候,人们会忘记或者懒惰而不会更新SQL文件。如何使用subversion来要求包含工作台文件的任何提交都必须包含SQL文件?

3 个答案:

答案 0 :(得分:2)

您可以在服务器上编写Hook脚本以满足此要求。

您可以使用pre-commit-hook检查它是否包含工作台文件,并检查它是否包含SQL文件...如果不中止提交。

答案 1 :(得分:1)

尽管khmarbaise的答案正在发挥作用,但我建议你提供更好的解决方案。而不是强制开发人员编辑SQL文件,尝试自动更新它。这意味着在构建过程的一个步骤中(假设您有一个构建过程)检查Workbench文件,如果是更新,请自动更改SQL文件。

答案 2 :(得分:0)

与您的问题不同,我发现工作台文件不是二进制文件。它们是压缩文件,包含xml格式的db模式。请参阅以下两篇文章:Is it possible to save MySQL Workbench files as plain XML?Subversion diff for zipped xml file