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

Dan*_*Dan 6 svn merge open-source

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

  1. 在我自己的存储库中为此项目创建一个文件夹.
  2. 看看这个空文件夹.
  3. 将原始项目检入另一个位置.
  4. 删除此新位置中的所有.svn子目录.
  5. 将文件复制到我的私有存储库的工作副本中,提交一次,然后开始进行更改.

这有效但看起来很难看,我完全不相信合并会正常工作.有没有更好的办法?

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

Dav*_* W. 7

我打算建议你看看Git.

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

这将允许您与Subversion保持同步,并仍然充分利用修订控制系统.

看看git svn.

如果你不想学习Git(你也可能因为大多数开源项目正在转向它),你可以看一下svk.