我们正在尝试重新构建SVN版本库,并在主干下包含一个lib文件夹以容纳项目所依赖的程序集。SVN版本库结构和共享程序集
我很想知道你们是如何处理共享程序集的?你有多个副本,跨越不同的主干库文件夹?你有什么样的构建过程会在构建该组件时自动更新lib文件夹?
你们如何处理你在哪里?
谢谢!
我们正在尝试重新构建SVN版本库,并在主干下包含一个lib文件夹以容纳项目所依赖的程序集。SVN版本库结构和共享程序集
我很想知道你们是如何处理共享程序集的?你有多个副本,跨越不同的主干库文件夹?你有什么样的构建过程会在构建该组件时自动更新lib文件夹?
你们如何处理你在哪里?
谢谢!
我们版本全部核心库。
所以例如,SVN是这样的:
/回购/ LIB1 /主干/
/repo/lib1/tags/1.0
/repo/lib1/tags/1.1
/回购/ LIB1 /分支
...
这样可以避免出现BC,或的情况,并且需要更新其他三个使用该库的项目。
此外,我们利用svn:externals
到链接这些库到项目中。
/repo/project1/tags/1.0
/回购/ PROJECT1 /主干/库
...
svn propedit svn:externals /repo/project1/trunk/library
输入以下命令:
lib1 svn://host/repo/lib1/tags/1.1
...并提交更改。
Project1本身也遵循约定(发布标签等)。
根据您选择的语言,当然还有其他选项。让我知道你是否可以详谈,看看我能否延续我的答案。但总而言之,就像那样简单。不需要其他构建工具。
我们尽我们所有的部署直接从颠覆(通过capistrano)。它基本上只是检查出的标签,并完成。甚至允许热修复它。如果你让我拉皮条我自己blog - 我对这个话题(“从SVN部署”)广泛写入。
HTH!
对于共享相同库的不同存储库,我使用外部引用来托管库,以便它们共享相同的代码。如果在同一个存储库中有多个项目需要这些库进行编译,那么构建过程将根据需要从顶级库文件夹复制到每个项目子文件夹。