使用多个版本控制系统的多个项目的单一版本控制系统

时间:2010-07-21 12:06:02

标签: version-control

我的开发系统有几个项目 - 有些项目是开源的,(这里是'问题'),使用他们自己的修订控制系统(RCS)。

最后一次计算,我的开发机器上的不同RCS是:

  • CVS
  • SVN
  • 水银
  • GIT中
  • ...

它足够困难,试图记住并掌握单个系统的命令 - 所以我正在考虑“抛弃”它们并解决它们 - 并没有完全放弃它们,我会进一步解释。

理想情况下,我想:

  • 有一个我用于所有事情的系统 - 即检查我的代码更改并对存储在MY存储库中的先前版本运行差异。我称之为我的MASTER RCS

  • 仍然可以更新特定项目中的代码 - 使用其作者正在使用的任何修订控制系统(mercurial,git或其他),在我解决了任何冲突等之后并确保更新的代码构建,然后我想检查更新的代码到我的MASTER RCS。这当然意味着我需要保留不同的RCS,我称之为SLAVE RCS。

在备份内容方面,只备存在MASTER RCS中的数据,我将备份。

现在我的问题:

我可能提出的方案吗? (我不知道为什么不这样做) - 但可能有些我可能不知道的问题 - 我会很感激有关要注意什么和避免什么的提示。

顺便说一下,我正在考虑使用SVN作为MASTER RCS。如果你能想到不使用SVN的原因(即选择另一个MASTER RCS),我有兴趣听听你的理由。

2 个答案:

答案 0 :(得分:1)

您使用SVN作为MASTER RCS的想法听起来也不错。鉴于git-svn(允许同时使用git和svn)和HgSubversion(https://www.mercurial-scm.org/wiki/WorkingWithSubversion)等工具可用,您应该可以完成此设置。

答案 1 :(得分:0)

您可能会对 Amp project

感兴趣
  • 所有存储库格式的通用API。
  • 将包括(还没有)git,bazaar,svn,cvs,darcs in Ruby。 100%兼容

今天它包装了Mercurial命令。明天,它将包装许多VCS。


现在,您可以将SVN用作普通仓库。

我喜欢的另一种方法是:

  • 从我碰巧必须用于给定项目的任何VCS工具中获取工作区(Perforce,ClearCase,CVS,SVN,...)
  • git init位于该工作区的根目录下(在工作区内有效创建git仓库)
  • hack并在这个Git repo中开发
  • 一旦代码稳定,就直接从同一个工作区以本机VCS方式提交。

例如见this question 没有要设置的服务器。我的目录中没有.svn。只能使用一组命令:git