在存储库之外单独维护对SVN存储库的代码更改

在存储库之外单独维护对SVN存储库的代码更改,svn,version-control,maintenance,mirroring,Svn,Version Control,Maintenance,Mirroring,我有一个关于维护某些代码的最佳方法的问题 有一个项目托管在SVN在线存储库中。该项目正在积极开发中,因此主干不断变化。我也没有此回购协议的写入权限 我对这个项目做了一些更改,需要对整个项目中的许多模块进行更改。我的变化是相当“利基”,这是没有意义的检查他们在主干。同时,我的变化也将不断发展 我所更改的文件在主干中修改不多,因此即使主干不断更改,如果将更改应用于主干,我的更改也很可能保持有效 是否有任何方法可以在不镜像整个存储库的情况下单独维护更改?到目前为止,我一直在维护我不断合并的回购协议的镜

我有一个关于维护某些代码的最佳方法的问题

有一个项目托管在SVN在线存储库中。该项目正在积极开发中,因此主干不断变化。我也没有此回购协议的写入权限

我对这个项目做了一些更改,需要对整个项目中的许多模块进行更改。我的变化是相当“利基”,这是没有意义的检查他们在主干。同时,我的变化也将不断发展

我所更改的文件在主干中修改不多,因此即使主干不断更改,如果将更改应用于主干,我的更改也很可能保持有效

是否有任何方法可以在不镜像整个存储库的情况下单独维护更改?到目前为止,我一直在维护我不断合并的回购协议的镜像,这相当耗时。我没有时间,所以我的更改与最新版本不同步

从本质上讲,如果有人想使用我的更改,必须执行以下操作,那将是非常棒的:

  • 查看SVN回购中的主干(或特定标签)
  • 从某处单独查看我的最新更改(或特定标签)
  • 使用一些脚本(我可以开发)将两者合并
  • 所以现在他们有了来自回购协议的最新主干和我的最新更改,自动合并并准备使用


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

    如果您可以获得写访问权限,那么最好是请求分支。然后您可以将您的更改提交到分支,并使用merge使其与trunk一起更新。如果不是,那么我将把它当作经典的“供应商分支”场景

    基本上,只需在本地创建自己的SVN存储库,并使用脚本在存储库中维护原始主干的副本。在存储库中创建分支,并在那里提交更改。然后定期使用脚本将repo中的trunk与master中的trunk同步,然后将该trunk中的更改合并到分支


    我猜您也可以使用git svn来维护主干的git镜像,然后使用git分支来存储更改并保持同步。

    如果您可以获得写访问权,那么最好是请求分支。然后您可以将您的更改提交到分支,并使用merge使其与trunk一起更新。如果不是,那么我将把它当作经典的“供应商分支”场景

    基本上,只需在本地创建自己的SVN存储库,并使用脚本在存储库中维护原始主干的副本。在存储库中创建分支,并在那里提交更改。然后定期使用脚本将repo中的trunk与master中的trunk同步,然后将该trunk中的更改合并到分支


    我想您也可以使用git svn来维护主干的git镜像,然后使用git分支来存储更改并保持同步。

    听起来分支可能是最好的方法。它将对所有用户可用,并允许您承诺帮助保持您的更改可管理和版本控制。人们可以在您的分支上与您合作,您可以始终将更改从主干合并到分支,反之亦然。

    听起来分支可能是最好的选择。它将对所有用户可用,并允许您承诺帮助保持您的更改可管理和版本控制。人们可以在您的分支上与您合作,您可以始终将更改从主干合并到分支,反之亦然。

    您可以使用克隆subversion存储库,然后保持git svn克隆。如果您这样做了,想要您的代码版本/分支的人就不需要您描述的三步流程;相反,他们只是“git克隆”你的repo(或者你指定的标签,等等)

    您还可以维护svn存储库主干的多个分支,或者单独跟踪多个svn分支,等等。

    您可以使用克隆subversion存储库,然后保持git svn克隆。如果您这样做了,想要您的代码版本/分支的人就不需要您描述的三步流程;相反,他们只是“git克隆”你的repo(或者你指定的标签,等等)


    您还可以维护svn存储库主干的多个分支,或者单独跟踪多个svn分支,等等。

    谢谢!我已经分别尝试了这两种方法和@mark phippard的方法,两种方法都很好。谢谢!我已经分别尝试了这两种方法和@mark phippard的方法,两种方法都很好。谢谢!这确实回答了我的问题。我选择了上面的git答案,因为考虑到我的工作流程,我发现使用git更方便一些,但我希望我也能正确地标记它。谢谢!这确实回答了我的问题。我选择了上面的git答案,因为考虑到我的工作流程,我发现使用git更方便一些,但我希望我也能正确地标记它。