如何创建项目特定的存储库提交后的操作

时间:2020-03-05 18:55:40  来源:igfitidea点击:

目前,我们在自己的存储库中有几个主要项目。我们将必须对多达十二个其他项目进行版本控制。 VisualSVN建议为我们的公司创建1个存储库,然后使用vc中的所有项目。

It's a good practice to create one repository for the entire company or department and store all your projects in this repository. Creating separate repository for each project is not a good idea because in that case you will not be able to perform Subversion operations like copy, diff and merge cross-project. VisualSvn.com

当前,我们正在使用提交后挂钩,以最新的提交来更新测试服务器,并根据已提交的项目来执行其他项目特定的操作(例如,通过电子邮件向某人发送一个项目,而不向其他人发送电子邮件)。

在整个存储库中提交后提交时,在这种情况下仍然可行吗?我将如何确定哪个项目已更改?过滤器文件夹的结构?

解决方案

回答

我们可以检查已提交文件的路径,以确定它们属于哪个项目。请记住,一次提交可以一次修改多个文件,理论上每个文件可以属于一个不同的项目。

回答

我不确定我是否同意VisualSVN的建议。我总是为每个项目设置单独的存储库,并且从未遇到过希望跨项目合并的情况。

如果贵公司的项目之间共享大量的通用代码,则它应成为自己的共享库项目(也具有自己的存储库)。

回答

从" post-commit"钩子中,运行" svnlookchanged"命令,找出哪些路径受提交影响。我们可以使用grep来查看它们是否包含某些项目路径。