2009-06-05 44 views
0

我们正在尝试重新构建SVN版本库,并在主干下包含一个lib文件夹以容纳项目所依赖的程序集。SVN版本库结构和共享程序集

我很想知道你们是如何处理共享程序集的?你有多个副本,跨越不同的主干库文件夹?你有什么样的构建过程会在构建该组件时自动更新lib文件夹?

你们如何处理你在哪里?

谢谢!

回答

1

我们版本全部核心库。

所以例如,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!

1

对于共享相同库的不同存储库,我使用外部引用来托管库,以便它们共享相同的代码。如果在同一个存储库中有多个项目需要这些库进行编译,那么构建过程将根据需要从顶级库文件夹复制到每个项目子文件夹。