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

时间:2008-08-04 19:04:47

标签: version-control dvcs

我的办公室有一个中央Source Safe 2005安装,我们用它来进行源代码管理。我无法更改办公室在服务器上使用的内容。

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

任何现有的分布式源代码控制客户端都可以处理吗?

4 个答案:

答案 0 :(得分:1)

This HanselMinutes的一集完全涵盖了我希望听到的内容。显然,Git可以在本地使用,然后根据需要附加到外部subversion / vss存储库。他们谈了14到15分钟。

答案 1 :(得分:1)

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

唯一的问题是,你需要让他们互相忽略(我已经做了类似于SVN的事情)弄乱了相应的忽略文件。我假设SourceSafe让你忽略了一些事情。而且你需要做两次某些操作(就像告诉你要删除文件一样)。

答案 2 :(得分:1)

嗯...... KernelTrap有something on this。看起来你可以使用vss2svn将Source Safe repo传输到Subversion存储库,然后使用非常好的git-svn进入本地git存储库。

我认为使用此方法提交回VSS不会是一个平滑的自动过程。

答案 3 :(得分:0)

有一天,我在一家使用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目录,更新并提交

但请记住,在少数情况下确实值得你这么做。