如何在自己的SVN中管理开源SVN项目

时间:2011-12-30 22:25:35

标签: svn open-source tortoisesvn projects

我使用像FastMM这样的开源库。

我从https://fastmm.svn.sourceforge.net/svnroot/fastmm

查看

然后想将它添加到我自己的SVN服务器https://project.svn.company.com/

但由于文件已经从https://fastmm.svn.sourceforge.net/svnroot/fastmm签出,因此无法将它们添加到我自己的SVN中。

我想同时拥有两个:

  1. 我在SVN中编译所需的文件https://project.svn.company.com/

  2. 必须能够轻松地从https://fastmm.svn.sourceforge.net

  3. 更新开源库

    建议的解决方法是什么?

    P.S。服务器是SVN,客户端是TortoiseSVN

2 个答案:

答案 0 :(得分:2)

您可以使用外部依赖项,在您更新时会自动更新其他subversion存储库。

使用tortoise的简单教程(这是使用TortoiseSVN 1.7,但过程与旧版TortoiseSVN非常相似):

在资源管理器中,右键单击您的subversion工作副本文件夹,然后选择TortoiseSVN>特性

选择新>的外部

添加一个新的外部,放入您希望将其签出的本地路径,存储库URL和修订版。

点击几次/关闭任何乌龟对话框,然后对您的存储库进行更新。如果一切都已正确设置您的本地存储库和您链接到的其他存储库。您可能必须在执行更新之前提交属性更改。

您可以通过上述类似的方法随时修改/删除外部(而不是选择新的,选择编辑/删除)。

答案 1 :(得分:0)

AFAIK,没有直接的方法来做到这一点;唯一的方法似乎是手动导出文件+合并库的新版本。

要做到这一点,你必须使用export命令而不是checkout,它从存储库导出文件而不用它们存储任何信息;因此允许您将它们视为普通文件,复制到另一个svn项目中等等。

(或者,只需从库源代码树中删除名为.svn的所有目录。)

然后,使用一些工具手动将签出的库源与本地版本合并。