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

不同的分布式版本控制系统协同工作

  •  15
  • Nick  · 技术社区  · 16 年前

    我的办公室有一个用于源代码管理的中央源代码安全2005安装程序。我无法更改Office在服务器上使用的内容。

    我在笔记本电脑上开发,希望有一个不同的本地源代码管理存储库,可以和中央服务器(如果可用)同步,而不管中央提供程序是什么。请求的原因是,我可以为客户演示维护一个本地稳定的分支/构建,同时继续开发,而不必跳过火热的箍环。此外,作为一名顾问,我的客户可能会要求我使用他们的源代码管理提供商,而这里的灵活性将使生活更轻松。

    任何现有的分布式源代码管理客户端都能处理这个问题吗?

    4 回复  |  直到 16 年前
        1
  •  1
  •   Haacked    16 年前

    好。。。KernelTrap有 something on this . 看起来你可以用 vss2svn 要通过管道将源安全repo导入到Subversion存储库中,然后使用非常好的git svn将其拉入本地git repo。

    我假设使用此方法返回到VSS的提交不会是一个平滑、自动的过程。

        2
  •  1
  •   Louis Brandy    16 年前

    您应该能够签出代码的当前版本,然后围绕它创建一个Git存储库。更新并将其提交到本地Git存储库应该是无痛的。克隆它也是如此。

    唯一需要注意的是,您需要让它们通过处理适当的忽略文件来互相忽略(我已经用SVN做了类似的事情)。我假设是源安全,让你忽略一些事情。你需要做两次特定的操作(比如告诉他们你正在删除一个文件)。

        3
  •  1
  •   Nick    16 年前

    This 《汉塞尔分钟》一集正好涵盖了我希望听到的内容。显然,Git可以在本地使用,然后根据需要附加到外部Subversion/VSS存储库。他们在14~15分钟内讨论过。

        4
  •  0
  •   accreativos    16 年前

    有一天,我在一家使用VSS的公司工作(以及在其他使用其他不太未知的公司工作) SCM )但我更喜欢使用SVN(总有一天我会尝试Git)为我和我的团队进行积极的开发。

    首先,这种情况只有一个好主意,如果在一个月内提交到VSS的次数很少,因为与其他SCM(而不是VSS)一起工作会给您带来更大的灵活性,但是从SVN合并到VSS的时间非常昂贵。

    我的解决方案是:

    vss->svn:我有Linux脚本(或Ant脚本或xxx脚本),它将vss的当前更新目录工作复制到当前svn,然后刷新svn客户端并更新/合并/提交到svn。这样,您就可以从使用VSS的公司的其他更改中进行更新。

    svn->vss:这样,您需要将所有修改文件签出到vss,然后您只需使用反向脚本从当前更新svn目录(忽略.svn目录)复制并复制到当前更新vss目录,更新并提交。

    但是记住,在一些情况下,值得你花时间去做这件事。

    推荐文章