代码之家  ›  专栏  ›  技术社区  ›  neilcrookes

我可以在svn repos中使用git repos吗

  •  11
  • neilcrookes  · 技术社区  · 16 年前

    在工作中,我们将所有客户机项目都保存在subversion存储库中,并且在可预见的未来不会改变这一点。我们的很多项目都使用相同的插件/模块,我们还开放了其中一些插件/模块的源代码,并在我们自己的github帐户上共享它们。

    我想做的是:

    1. 使用subversion中的所有代码维护客户机项目
    2. 任何开发人员都可以从任何远程/github repo向项目添加插件/模块
    3. 任何开发人员都可以提取对github repo所做的更改,并将其添加到项目的svn repo中(以项目为基础,而不是一次全部添加)
    4. 能够对从github回购协议中提取的代码进行特定于项目的调整,这些调整不会被推回到github,也不会影响从github提取更改的能力
    5. 具有所需ssh密钥的开发人员可以将github上代码的本地更改推回到github,这样,任何对使用插件/模块的所有项目都有好处的错误修复或新功能也可以将它们拉下来。

    这可能吗?如果是,怎么做?

    我可以结合以下几点来做到这一点:

    1. svn回购中的供应商分支,每个外部github回购都有一个供应商,以保持github上可重用代码和项目调整代码的分离。
    2. 犯了罪。git文件夹放入svn repo中的供应商分支,以便任何人都能获取最新的更改。
    3 回复  |  直到 16 年前
        1
  •  12
  •   richq luc    14 年前

    有趣的是, github added Subversion support 这不是愚人节的玩笑。换句话说,它 看 就像愚人节的笑话,但功能齐全!

    可以使用Subversion URL将git存储库添加为svn:externals http://github.com/USER/PROJECT .

        2
  •  2
  •   stimms    16 年前

    我相信你所要求的大部分都可以使用git svn( http://git.or.cz/course/svn.html )这让你可以在subversion之上分层git。当你觉得现在是以正常的git方式使用git的好时机时,你可以回到svn存储库。

        3
  •  2
  •   Alex Brown    16 年前

    合并应该没有问题。吉特和。按照您建议的方式使用svn存储库。

    我建议添加 .svn 去医院。gitignore文件用于以这种方式使用的每个git回购。

    您需要一种策略来防止私有更改向git hub上游移动。例如,将所有这些都保存在一个单独的分支中,您可以在上传之前对其进行反向重新基址合并,然后将其还原。