我的办公室有一个中央 Source Safe 2005 安装,我们用于源代码控制。我无法更改办公室在服务器上使用的内容。
我在笔记本电脑上开发,并希望拥有一个不同的本地源代码控制存储库,该存储库可以与中央服务器(如果可用)同步,而不管中央提供者是什么。提出请求的原因是,我可以为客户演示维护一个本地稳定的分支/构建,同时继续开发,而不必跳过燃烧的箍。此外,作为顾问,我的客户可能会要求我使用他们的源代码控制提供程序,而这里的灵活性会让生活更轻松。
任何现有的分布式源代码控制客户端都可以处理吗?
我的办公室有一个中央 Source Safe 2005 安装,我们用于源代码控制。我无法更改办公室在服务器上使用的内容。
我在笔记本电脑上开发,并希望拥有一个不同的本地源代码控制存储库,该存储库可以与中央服务器(如果可用)同步,而不管中央提供者是什么。提出请求的原因是,我可以为客户演示维护一个本地稳定的分支/构建,同时继续开发,而不必跳过燃烧的箍。此外,作为顾问,我的客户可能会要求我使用他们的源代码控制提供程序,而这里的灵活性会让生活更轻松。
任何现有的分布式源代码控制客户端都可以处理吗?
您应该能够检查出代码的当前版本,然后围绕它创建一个 git 存储库。更新它并将其提交到您的本地 git 存储库应该很容易。应该克隆它。
唯一的问题是,您需要通过弄乱适当的忽略文件来让它们相互忽略(我对 SVN 做过类似的事情)。我假设 SourceSafe 让你忽略一些事情。而且您需要执行某些操作两次(例如告诉两者您正在删除文件)。
有一天,我在一家使用 VSS 的公司(以及其他使用其他鲜为人知的SCM的公司)工作,但对于我和我的团队,我更喜欢使用 SVN(总有一天我会尝试 GIT)进行积极开发。
首先,在这种情况下,如果一个月内对 VSS 的承诺很少,这是一个好主意,因为与其他 SCM(比 VSS)一起工作会给您更多的灵活性,但从 SVN 向 VSS 的提交在时间上是昂贵的。
我的解决方案是:
VSS -> SVN:我有从 VSS 的当前更新目录工作复制到当前 SVN 的 linux 脚本(或 ant 脚本或 XXX 脚本),然后刷新 SVN 客户端并更新/合并/提交到 SVN。这样,您就可以从使用 VSS 的其他公司的变化中获得更新。
SVN -> VSS:这样,您需要将所有修改文件检出到VSS,然后您可以简单地使用反向脚本从当前更新SVN目录(忽略.svn目录)复制并复制到当前更新VSS目录,更新和提交。
但请记住,在某些情况下确实值得您花时间这样做。
HanselMinutes 的这一集完全涵盖了我希望听到的内容。显然 Git 可以在本地使用,然后根据需要附加到外部 subversion/vss 存储库。他们会在 14 到 15 分钟后谈论它。