题
我的办公室安装了中央 Source Safe 2005,用于源代码控制。我无法更改办公室在服务器上使用的内容。
我在笔记本电脑上进行开发,希望有一个不同的本地源代码控制存储库,可以与中央服务器(如果可用)同步,无论中央提供程序是什么。提出请求的原因是,我可以为客户演示维护本地稳定的分支/构建,同时继续开发,而不必跳过火圈。此外,作为顾问,我的客户可能会要求我使用他们的源代码控制提供商,这里的灵活性会让生活变得更轻松。
任何现有的分布式源代码控制客户端都可以处理这个问题吗?
其他提示
您应该能够查看代码的当前版本,然后围绕它创建一个 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目录,更新并提交。
但请记住,在某些情况下确实值得您花时间这样做。