【问题标题】:Integrating External Sources in a Build在构建中集成外部源
【发布时间】:2010-09-13 14:56:57
【问题描述】:

在我工作的地方,我在不同的存储库中有几个项目。每个项目都共享许多我想提取到不同项目中的通用代码。我正在考虑使用以下方案调用该项目:Company.Department.Common 或 Company.Department.Utility。

我为此构建了一个项目,它有一个自动构建脚本(与其他所有项目一样)。

我的问题是我想重构我现有的项目以依赖这个新项目。一种非常基本但不完全是我正在寻找的方法是简单地构建我的实用程序项目,将 DLL 复制到我正在使用的项目中的 lib 文件夹中,然后将该 DLL 签入该正在使用的项目中。

我个人觉得这个方法很差。我想参考我的 Utility 项目,并将在构建消费项目之前执行 svn-update 和构建 Utility 项目。

仅供参考,Utlity 项目中的代码类型是日志记录设施、BDD 单元测试类、IoC 设施和 Common Company.Department 重点类。

希望我的问题不是太含糊,但有了一些答案,我或许能够将注意力集中在我想做的事情上。

最后,这适用于 .Net 项目,使用 NAnt 作为构建脚本,使用 svn 进行代码版本控制。

【问题讨论】:

    标签: svn build nant


    【解决方案1】:

    Greg 是对的,因为您可能想要使用 svn:external 功能。我创建了一个关于如何使用 TortoiseSVN 在 Windows 上执行此操作的分步指南。我第一次使用它时发现它很混乱。我创建了指南,以便我可以查找它,因为我不会一直这样做。

    Using svn:externals with Windows

    【讨论】:

    • 谢谢,下一步对我来说是搞清楚外部源的集成,但至少第一步搞定了。
    【解决方案2】:

    您检查过svn:externals 功能吗?这允许您使不同的存储库显示为更高级别存储库的子目录。如果我理解您想要做什么,这可能会有所帮助。

    【讨论】:

    • 我在某处听说在同一个存储库中使用 svn:externals 存在问题(最明显的是在进行备份时,它会导致邪恶的循环检出)。你知道这是否(仍然)是一个问题?
    • 我在指向同一个存储库时从未使用过 svn:externals。这听起来肯定会导致问题,因为 svn:externals 旨在指向某个 other 存储库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    相关资源
    最近更新 更多