【问题标题】:Single revision control system for multiple projects using multiple versioning systems使用多个版本控制系统的多个项目的单一修订控制系统
【发布时间】:2010-07-21 12:06:01
【问题描述】:

我的开发系统上有几个项目 - 一些项目是开源的,并且(这就是“问题”)使用它们自己的修订控制系统 (RCS)。

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

  • CVS
  • SVN
  • 水银
  • 混帐
  • ...

尝试记住和掌握单个系统的命令已经够难的了——所以我正在考虑“抛弃”它们并适应一个——好吧,并不是完全抛弃它们,我会进一步解释。

理想情况下,我想:

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

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

在备份方面,我将仅备份存储在 MASTER RCS 中的数据。

现在回答我的问题:

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

顺便说一句,我正在考虑使用 SVN 作为 MASTER RCS。如果您能想到不使用 SVN 的原因(即选择另一个 MASTER RCS),我很想听听您的原因。

【问题讨论】:

    标签: version-control


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可能有兴趣关注Amp project

      • 所有存储库格式的通用 API。
      • 将在 Ruby 中包含(尚不存在)git、bazaar、svn、cvs、darcs。 100% 兼容

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


      现在,您可以将 SVN 用作通用 repo。

      我喜欢的另一种方法是:

      • 从我碰巧必须用于给定项目(Perforce、ClearCase、CVS、SVN 等)的任何 VCS 工具获取工作区
      • git init 在该工作区的根目录中(有效地在工作区中创建一个 git 存储库)
      • 在这个 Git 存储库中破解和开发
      • 代码稳定后,直接从同一工作区以本机 VCS 方式提交。

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

      【讨论】:

      • 理论上听起来不错,但我会谨慎行事并使用我所知道的 - 目前,即 SVN。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多