管理私有Subversion fork的正确工作流程:

时间:2011-05-04 14:44:46

标签: svn open-source merge

我想要一个开源项目。它有一个公共SVN存储库,我想从中查看源代码,将其克隆到我的私有存储库中,然后开始进行更改。如果可能的话,我希望以后能够合并来自上游存储库的更改。到目前为止,我已经能够这样做了:

  1. 在我自己的存储库中为此项目创建一个文件夹。
  2. 查看此空文件夹。
  3. 将原始项目检入另一个位置。
  4. 删除此新位置中的所有.svn子目录。
  5. 将文件复制到我的私有存储库的工作副本中,提交一次,然后开始进行更改。
  6. 这有效,但看起来很难看,我完全不相信合并会正常工作。还有更好的方法吗?

    编辑:为了排除“只提交补丁”的回复,只要说这是我在我的应用程序中需要的功能,但因为它故意破坏与现有功能的兼容性,它将不被上游接受。

3 个答案:

答案 0 :(得分:7)

我建议你看看Git。

是的,该项目正在使用Subversion,但是Git有一个方便的小技巧,可以将修订版从Subversion中删除,允许您使用Git进行个人版本控制,然后将更改提交回Subversion。

这样可以让你与Subversion保持同步,并且仍然可以充分利用修订控制系统。

看看git svn

如果您不想学习Git(您可能也可以学习大多数开源项目),您可以查看svk

答案 1 :(得分:2)

您需要的是所谓的“Vendor Branches”,这是众所周知的工作流程。

答案 2 :(得分:1)

svn export将为您完成大部分工作。