0

我们正在尝试重构我们的 SVN 存储库,并在主干下包含一个 lib 文件夹,以容纳项目所依赖的程序集。

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

你们是怎么处理的?

谢谢!

4

2 回答 2

1

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

于 2009-06-05T01:33:29.953 回答
1

我们对所有核心库进行版本控制。

例如,SVN 看起来像这样:

/repo/lib1/trunk/

/repo/lib1/tags/1.0

/repo/lib1/tags/1.1

/repo/lib1/分支

...

这避免了您破坏 BC或其他东西的情况,并且需要更新使用该库的其他三个项目。

此外,我们利用svn:externals将这些库链接到项目中。

/repo/project1/tags/1.0

/repo/project1/trunk/库

...

svn propedit svn:externals /repo/project1/trunk/library

输入以下内容:

lib1 svn://host/repo/lib1/tags/1.1

...并提交更改。

Project1 本身也遵循约定(发布标签等)。

根据您选择的语言,当然还有其他选择。让我知道您是否可以详细说明,我看看是否可以扩展我的答案。但总而言之,就是这么简单。不需要其他构建工具。

我们直接从颠覆(通过capistrano)进行所有部署。它基本上只是检查标签,然后完成。甚至允许对其进行热修复。如果你允许我在自己的博客上拉皮条——我已经写了大量关于这个主题的文章(“从 svn 部署”)。

于 2009-06-05T01:34:31.963 回答