我画我的自我与CodePlex从一个Subversion项目工作的一个问题-为了这个,我要求帮助这里 。 我有一个本地资源库和CodePlex上有它的互联网项目库,和两个不混合:-(。
但是,我亲爱的爸爸离开曾经告诉我说,一个聪明的人,聪明的人之间的区别在于,聪明的人不进入陷阱聪明的人找到自己的出路的。 换句话说:我一定是做错了什么。 所以:
说你是一个组的少数开发商。 还有你要开始修改Internet上的颠覆控制项目。 你想就可以了本地工作,将其更改为满足您的需求。 你想本地版本控制。 你想控制接受其互联网资料库修改 - 那些相关的和重要的,不会造成噪音。 要提交到互联网的一些当地的变化 - 那些你肯定是稳定的,而且是相关的整个社会。
这种操作方法在我看来,常识,但我从来没有在一个开源项目工作。 所以:1,这是确实是你如何去使用Subversion做不惹麻烦常用的操作方法和2?
从外部源(“卖方滴”)到自己的本地仓库吸收的变化是覆盖在SVN书在部分供应商分行 。
或者,你可以只使用合并命令樱桃从存储库中的文件夹挑修订和应用这些变化到文件夹的工作副本库B.合并命令似乎有一些这方面的支持(至少在最新版本),所以它可能很像当地的分支机构(减去自动合并跟踪)之间的合并。
颠覆本质上是一种集中式的版本控制系统。 从你的描述,它听起来就像你需要一个分布式版本控制系统。 在这样的系统中的人可以在当地发展,然后相互之间交换的工作单元(称为变更集)。 分布式版本控制系统有合并分支来支持这个出色的支持。
我使用水银自己,并会推荐以来许多命令的类似Subversion的命令的颠覆用户。 其他流行的工具这一类包括的Git和集市 。
说你是一个组的少数开发商。 还有你要开始修改Internet上的颠覆控制项目。 你想就可以了本地工作,将其更改为满足您的需求。 你想本地版本控制。 你想控制接受其互联网资料库修改 - 那些相关的和重要的,不会造成噪音。
你要能够在本地工作,分支或合并没有第二个想法。 你基本上是在谈论分布式版本控制。 Subversion不支持此功能。 您应该使用像水银或Git的 。
这听起来像你应该看在原库代码创建一个分支。 您可以从树干后面合并到你的分支,或者反过来,只要你想。
您的另一种选择是将文件从存储库导出并添加到自己的仓库。 但是,这只是将是在未来的痛苦。
这是分布式源代码控制系统,如git的容易得多。
那么你可以有一个本地的Git仓库,使用git-SVN中获得公众回购更新,并与您的特殊的调整有自己的本地分支。
你会看到很多这样的项目在github上(延长使用Git颠覆-ED OSS项目) - NHibernate的,对于城堡等工程。
如果您必须使用SVN坚持,你可以使用一组补丁文件在公共主干管理自己的变化。 如果你想从主干新的东西,创建更改补丁,恢复,更新到新的树干,然后有选择地应用你的补丁。
我一般会保持我从SVN放倒只包含从资料库和我的工作,并计划提交返回的代码更新的代码副本。
在一个新的功能工作时,我就整个复制到一个新的副本导出我的机器上,然后进行测试+所需的更改。 如果我决定,我要提交更改回来,我使用某种形式的合并工具( 的WinMerge是很好,如果你使用的是Windows),我的修改合并到我放倒原来SVN更新的文件夹中。
这使一切都还算整齐,因为我能够相对容易地避免无意中提交代码。 我也能够通过只是让我的“基地” SVN更新的文件夹中的新副本容易报废的变化。 不足之处是,它使对我不打算提交一次相对笨重的多种功能工作。