2012-05-31 47 views
0

我对维护某些代码的最佳方式有疑问。维护代码更改到SVN仓库以外的版本

在线SVN存储库上有一个项目托管。该项目正在积极开发中,因此行李箱不断变化。我也没有写这个回购的权限。

我对这个项目做了一些改变,需要对整个项目中的许多模块进行更改。我的改变非常“小”,检查它们到干线是没有意义的。另外,我的变化将不断发展。

我更改的文件在trunk中没有得到太多修改,所以即使trunk一直在更改我的更改最有可能在它们被应用于trunk时保持有效。

有什么办法可以在不镜像整个存储库的情况下单独维护我的更改?到目前为止,我一直在维护着我一直在合并的回购镜像,这非常耗时。我没有时间,所以我的更改与最新版本不同步。

从本质上讲,这将是巨大的,如果有人谁想用我的变化不得不做这样的事情:从SVN回购的

  • 退房

    1. 退房树干(或特定的标签)我单独从什么地方
    2. 最新变化(或特定标签)合并两个使用一些脚本(我可以开发)

    所以现在他们已经从回购最新的主干,和最新的我ch的时代,自动合并,随时可以使用。

    我愿意使用任何系统来维护我所做的更改。不必是SVN或任何特定的东西。

  • 回答

    2

    你可以使用git-svn克隆subversion版本库,然后保持你的git-svn克隆。如果你这样做了,那么一个想要你的代码版本/分支的人不需要你描述的3步过程;相反,他们只会'克隆'您的回购(或您指定的标签等)。

    你也可以保持svn库的主干多个分支,或单独跟踪多个SVN树枝等

    +0

    谢谢!我已经尝试了这种方法和@ mark-phippard的方法,两者看起来都不错。 – hide0

    1

    如果您可以获得写权限,那么最好的办法是请求一个分支。然后,您可以将更改提交到分支,并使用合并来使其更新为主干。如果没有,那么我会把它看作经典的“供应商分支”场景。

    https://www.google.com/search?q=svn+vendor+branch

    基本上,只要创建自己的SVN仓库本地并使用脚本来维持原始的主干副本在你的资料库。在你的仓库中创建一个分支并在那里提交你的改变。然后,只需定期使用脚本将主干中的干线与主干中的干线同步,然后将该干线的更改合并到分支。

    我想你也可以使用git-svn来维护trunk的git镜像,然后使用git分支来存储你的修改并保持同步。

    +0

    谢谢!这确实回答了我的问题。我选择了上面的git答案,因为我发现使用git给我的工作流更方便一些,但是我希望我也可以标记这个权利。 – hide0

    1

    听起来像是一个分支将是最好的方式去。它可供所有用户使用,并允许您承诺帮助保持您的更改可管理和版本控制。人们可以在你的分支上与你一起工作,并且你总是可以将变化从树干合并到你的分支,反之亦然。