1
7
问题在于 MKS Integrity 它们的唯一存储库 一切 住所:
因为这些数据可以以自己的速度彼此独立地发展,所以将它们全部导入到一个Git存储库中是一个坏主意:您只能克隆
全部的
git repo的内容(即使您可以限制该克隆的深度)。
像往常一样,我只建议导入:
我不会全部导入 一 Git存储库,除非您确信您的所有源代表 一 作为一个整体开发的系统(而不是独立开发的几个“模块”)。
这就是继续的方法。
不!你不会!Git威尔
infer
those operations
.
|
2
9
我不能发布我写的实际程序,因为我没有在自己的时间内完成。但是,我可以发布我是如何做到的。用任何脚本语言重做都应该很容易。 我编写的工具一次只迁移一个分支。我会告诉它我想要哪个分支(例如1.21.1),以及分支中的开始和结束修订(例如4和78会将所有修订从1.21.1.4迁移到1.21.1.78)。为了在一个repo中拥有所有分支,我将提供用于导入的.git目录。
完成。 mks对其字符串使用某种ASCII编码,而git通常使用utf-8,因此在将元数据导入git(用户名、注释、标记等)时要当心问题。 对于更多分支,请执行以下操作:
还有一件事:“si”是mks命令行工具。因此,您要么需要指定它的完整路径,要么将它的路径放入搜索路径中。 |
3
6
很遗憾,目前Si Diff不支持统一的Diff。有一个变更请求要求它这样做,但还没有太多的客户要求该功能。 免责声明:我为PTC(谁获得了MKS)工作。 |
4
3
这适用于检查点… https://gist.github.com/2369049 不幸的是,从mks->git看来,检查点似乎是唯一真正有意义的东西,因为检查点实际上是最接近git调用commit的“快照”的东西。 MKS有这么多不兼容的概念(每个文件版本的跟踪、分支与Git分支、检查点等完全不同),它们都可以彼此独立地发展,真的很难分辨如何将一个合理的历史迁移到Git中。可能有很多方法可以做到这一点,但没有一种方法比下一种方法更“正确”。 也就是说,我想听听好主意。:) 我希望看到一个以合理的方式捕获每个文件版本控制的解决方案。在一些讨论中,我们提出了这样一个想法,即通过提交时间或其他什么方式来排列每个文件版本的mks。这样,我们就可以通过包含多个文件更改的提交来制定“回购”的概念。 |
5
0
我使用这个工具将变更包从mks导入到mercurial,导入到git应该非常相似;或者您可以先导入到mercurial,然后使用git工具导入mercurial。 https://github.com/arsane/py-mks2hg.git 它将尝试找出指定项目下的所有变更包,并按顺序提交到新的Mercurial存储库。 |