我的办公室安装了中央 Source Safe 2005,用于源代码控制。我无法更改办公室在服务器上使用的内容。

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

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

有帮助吗?

解决方案

出色地...内核陷阱有 关于这个的东西. 。看起来你可以使用 vss2svn 将 Source Safe 存储库通过管道传输到 Subversion 存储库,然后使用非常好的 git-svn 拉入本地 git 存储库。

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

其他提示

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

唯一的问题是你需要通过弄乱适当的忽略文件来让它们互相忽略(我已经对 SVN 做了类似的事情)。我猜想 SourceSafe 让你可以忽略一些事情。并且您需要执行某些操作两次(例如告诉双方您正在删除文件)。

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

有一天,我在一家使用 VSS 的公司工作(以及在其他使用其他不太未知的公司) 单片机)但我更喜欢使用 SVN(有一天我会尝试 GIT)来进行积极的开发,对于我和我的团队来说。

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

我的解决方案是:

VSS -> SVN:我有linux脚本(或ant脚本,或XXX脚本),从VSS的当前更新目录工作复制到当前SVN,然后刷新SVN客户端并更新/合并/提交到SVN。这样,您就可以根据使用 VSS 的公司其他部门的更改进行更新。

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

但请记住,在某些情况下确实值得您花时间这样做。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top