在这里搜索我发现这个问题是already asked,但我认为情况更糟! - (
我是互联网存储库开发的新手。 A book我正在阅读包含一个有趣的示例项目 - ASP.Net中的社交网络。作者将代码作为CodePlex project。我试图通过VisualSVN(颠覆)“获取”版本但失败了。所以我所做的是将代码下载为zip文件(即从项目的存储库中断开),创建我自己的本地存储库,然后开始修改代码。
现在CodePlex的存储库开始变得活跃。我想要做的是不断从CodePlex存储库获取更改到我的本地存储库,并偶尔将我的一些更改提交回CodePlex存储库。
可行吗?
答案 0 :(得分:1)
我实际做了什么,至少现在和the CodePlex project的流量都很低:
我下载了当前的CodePlex 22875版本(作为zip文件)。幸运的是,在我开始玩这个项目之前,我已经在我的计算机上本地保存了原始的16202 zip文件(但我想我也可以从CodePlex获得它)。
现在我的计算机上有两个文件夹:22875和16202.我所做的是使用Total Commander比较两棵树并找出修改了哪些文件。我手动将少量更改集成到我的代码中。
我认为Beyond Compare在集成方面会更好,但我还不熟悉它,所以我坚持使用TC。
要走另一个方向,我想我必须检查当前的CodePlex主干,手动集成我的更改,并提交更改。
我能说什么 - 太糟糕了。但是我的更改量使得本地存储库比使用CodePlex更有意义。而且,由于CodePlex使用SVN,我喜欢在本地使用SVN工作,我刚刚为VisualSVN支付了49美元,而且我害怕git Unix黑客: - )
答案 1 :(得分:0)
不使用基本的SVN,因为它将每个存储库视为独立的,并且不允许在存储库之间进行合并。然后你必须手动合并。这可能是一种痛苦。
注意:我在问题中错过了你的第一行.. doh ..我已经写完了所有这些..呸..希望它有点帮助...:)
正如您在其他问题中所看到的,有一种称为DVCS(分布式版本控制系统)的新东西,它允许存在多个存储库并允许来回推送/提取。有一些流行的版本,Git,Mercurial和Bazaar。
Git有点难以使用,IMO,但它支持很好地连接到svn-repositories。
迁移到分布式表单时需要学习一些新内容,因为定义的数据模型更复杂。我不知道它是否适合你,但它确实支持你所要求的。
要应用此功能,您将使用自己的本地Git仓库,将不同的svn repos导入该仓库中的本地分支。然后将这些分支中的更改合并到您的主开发分支中,在那里(本地)更改和提交内容,最后将您的更改合并到其中一个或两个svn-branches,然后将Git中的svn-branches推送到svn-repositories作为新的提交。
但是,Git是由Linux内核黑客制作的。被警告。 :)
Mercurial对用户更友好,但从我所听到的情况来看,它的支持并不是那么好。但是我自己没试过。
答案 2 :(得分:0)
如前所述,跨存储库不起作用。
回到最初的问题,您是否尝试使用svn命令行从原始存储库中检出?
从您想要拥有工作副本的目录中: svn checkout svn:// codeplex_repository
然后使用update / commit复制修改并像往常一样使用svn进行同步。
如果不熟悉svn命令行,请下载TortoiseSVN,免费并完成工作。
答案 3 :(得分:0)