如何在同一个项目中使用第三方svn和我自己的svn?

时间:2009-10-09 17:59:23

标签: svn

我有关于SVN的配置问题。

我已经从第三方SVN下载了一些代码(例如,sourceforge或google-code)。如果我对此代码进行本地更改,我应该如何将更改备份到我自己的svn?

我希望能够使用我自己的版本将第三方svn的更改下拉到diff。

(我使用的是intelli-j,但也可以使用命令行svn。)

2 个答案:

答案 0 :(得分:1)

svn:externals功能可能会做你想要的,但我发现它很复杂。您还可以了解如何维护vendor branches

您真正想要做的是在第三方存储库中创建您自己的分支。遗憾的是,如果没有对其他存储库的提交访问权限,则无法执行此操作,因为所有分支都存储在中央svn服务器上。

你可能想要查看像git或hg这样的DVCS,这将允许你维护本地分支。您可以使用类似git-svn的东西来跟上svn存储库中的更改,然后在git中本地维护您的分支。

答案 1 :(得分:1)

如果您没有外部SVN服务器的提交权限,则无法将更改提交到该系统。您从外部SVN提供程序提取的代码将永久链接到您从中提取的存储库。

这是centralized and decentralized version control systems之间的根本区别。

如果你必须坚持使用SVN,那么你没有很多选择。您可以继续执行'svn update'以从外部服务器获取最新更改,但您的本地更改将始终是本地副本中未提交的差异。

还有其他选择。主要的分布式版本控制系统能够与SVN服务器一起使用。有关详细信息,请参阅以下文章: