让我们假设一些名为Graphics,Sound,IO等的共享库项目,以及使用这些项目的多个应用程序。 什么是最好的,共享项目的一个WC和每个应用程序的一个WC?或者每个应用程序都有一个WC和一个独立的WC库?
即。区别:
src
|
|---libs
| |
| |---graphics
| |---sound
| |---io
|
|---project1
|---project2
和
src
|---project1
| |
| |---libs
| |
| |---graphics
| |---sound
| |---io
|
|---project2
| |
| |---libs
| |
| |---graphics
| |---sound
| |---io
我可以在每种情况下看到优势,但我认为现实生活经验在这里真的很有帮助。
答案 0 :(得分:1)
我建议让图书馆成为他们自己的项目......
graphics
+-- trunk
+-- tags
+-- branches
io
+-- trunk
+-- tags
+-- branches
sound
+-- trunk
+-- tags
+-- branches
project1
+-- trunk
+-- tags
+-- branches
project2
+-- trunk
+-- tags
+-- branches
要在项目中使用它们你应该svn:externals链接io,图形等到特定的项目,防止将源代码复制到每个项目,你有一个点,你可以修复错误和增强功能等
答案 1 :(得分:0)
如果这些库被复制到整个代码库中,它们以什么方式“共享”?
在应用程序目录下有lib有什么优势?
答案 2 :(得分:0)
除非你有充分的理由支持所有应用程序库的不同WC,我建议使用一个WC用于库 - 这样更容易维护库(更新,构建)。
支持不同库WCs的原因可能是特殊的稳定性要求,只有在需要时才会转移到某个库的新版本。
答案 3 :(得分:0)
您是否考虑使用Maven存储库来存储二进制依赖项,而不是源代码控制系统?
然后可以使用像ivy这样的依赖管理器将jar作为构建过程的一部分下载到WC中。