所以现在我们目前只有一个包含大约20多个项目的解决方案。我们需要检查一下;但是,一些项目共享相同的公共库。当我们需要在SVN中为特定项目创建标记然后在拉下该项目以进行更改时,我们还需要拉出当时使用它编译的库。所以它看起来像这样:
/tag
/project1_1.0
+ Project1_1.0 src code..
// COMPILES WITH COMMONLIB_1.0.dll
/project2_1.0
+ Project2_1.0.dll
// COMPILES WITH COMMONLIB_1.1.dll
/project3_1.0
+ Project3_1.0.dll
/CommonLib_1.0
+ CommonLib_1.0 src code...
/CommonLib_1.1
+ CommonLib_1.1 src code...
我看到了一些关于使用svn:external的内容,这样当我们拉出project1_1.0时,它将拉出用它编译的公共库。但是,这是不是意味着对于每个标记我们都必须手动完成并使用svn:external添加正确版本的CommonLib?
我们要做的是让每个项目都拥有自己的版本。然后当滚动到QA / Prod时,我们然后在它的项目名称和版本号下标记该代码。因此,当应用程序运行时,我们检查事件日志并找到错误,然后我们可以检查版本号,然后返回SVN并拉出相应的标记代码并进行更改。但是,我们不能只提取项目代码,因为我们需要知道用于编译的特定库(无论它有多久)。
这是一种很好的做事方式,还是我们应该检查整个解决方案?当我们只想对子项目进行更改时,这似乎有点激烈。我们还没有真正想出一种使用SVN版本化的好方法。