目前,我们在自己的存储库中有几个主要项目。我们将需要对多达十几个项目进行版本控制。 VisualSVN建议为我们公司创建1个存储库,然后vc中的所有项目。
为整个公司或部门创建一个存储库并将所有项目存储在此存储库中是一种很好的做法。为每个项目创建单独的存储库不是一个好主意,因为在这种情况下,您将无法执行复制,差异和合并跨项目等Subversion操作。 VisualSvn.com
目前,我们正在使用提交后挂钩来使用最新提交更新测试服务器,并执行其他项目特定操作(例如,通过电子邮件发送某个项目的一个项目而不是其他项目),具体取决于已提交的项目。< / p>
作为整个存储库的post-commit运行,在这种情况下这仍然是可能的吗?我如何判断哪个项目有变化?过滤文件夹结构?
答案 0 :(得分:1)
您可以检查提交文件的路径,以确定它们属于哪个项目。请记住,提交可以一次修改多个文件,理论上每个文件可以属于不同的项目。
答案 1 :(得分:1)
从post-commit
hook运行svnlook changed
command,找出哪些路径受提交影响。您可以使用grep
查看它们是否包含某些项目路径。
答案 2 :(得分:0)
我不确定我会同意VisualSVN的建议。我总是为每个项目设置单独的存储库,我从来没有遇到过我希望我可以在项目之间进行合并的情况。
如果贵公司的项目之间共享了一大堆公共代码,它应该成为自己的共享库项目(也有自己的存储库)。