我只需要来源的树及其历史。我不关心的需要/问题的东西,现在。我发挥了一位参观了各大金融公司,也令线图,如果我可以得到一个列表中的变化包干以及一些开发路径。我认为这应当可以提取一个差异对于每一个变化包装和使用,以重播的所有变化,因为第一承诺在饭桶。事情是这样的:

  1. 得到第一个承诺和增加它件
  2. 获得下一CP
  3. 获得差异CP
  4. 申请差异件工作目录
  5. 增加以及更改提交件
  6. 重复(2内。) 直到去CP

你也可以repleace改变包检查点(将不够好对我)。

一个更简单的方法就是刚刚结帐CP和add/承诺饭桶。但是然后你会失去踪添加、删除、移动和重新命名的操作。

没有人知道如何获得一个统一的比较"si差异"?那个会已经帮助很多。

任何想法?

Edit2:
加入一个答案,说明如何实际上我迁移...

有帮助吗?

解决方案

的问题 MKS完整性 是他们的唯一储存库在哪 的一切 驻留:

  • 要求,
  • 测试计划,
  • 试验的情况下,
  • 特征,
  • 开发任务,
  • 部署的要求

由于这些数据可以独立发展的一个另一个在自己的步伐,进口它们所有的在一个Git储存库将是一个糟糕的想法:你可以只克隆 所有 内容的一个混帐回购协议(即使可以限制深度的克隆)。
这意味着你会得到所有的文件,尽管你们只是感兴趣的代码。
一个MKS完整性出口意味着要界定第一个多Git储存库的作为 .


我只需要来源的树及其历史。

像往常一样,我会推荐的唯一进口:

  • 主要标签(任何年龄超过一年,或任何期间,你觉得舒服,你不需要检查中充分,因为它是那么的老)
  • 所有的片公司的财产(主要和未成年人)的最后一年。

我不会导入的所有在 一个 Git库,除非你有信心,所有你的消息来源表示 一个 系统的开发作为一个所有(并且没有几个"模块",独立开发)

一个更简单的方法就是刚刚结帐CP和add/承诺饭桶。

这将是方式进行。

但是然后你会失去踪添加、删除、移动和重新命名的操作。

不!你不会!发生了错误, 推断 这些行动.
这是优点是文件 的内容 风险投资.

其他提示

我无法后的实际程序是我写的,因为我没做我自己的时间。然而,我可以张贴我是如何做的。应该可以很容易地重复它与任何脚本语言。该工具我写的迁移,只有一个分支的时间。我会告诉它,这支我要(例如1.21.1)和开始和结束的修订,在分支机构(例如4和78会迁移的所有修订,开始从1.21.1.4达1.21.1.78).所有分支机构在一个仓库我会提供的。git目录的使用对于进口。

  • 开始的循环,从开始修订,以结束修订
    • CURRENTREV=的分支。loopcounter
    • 创建的仓库中目录
    • 移动。git dir入仓库的目录
    • 移动。gitignore文件到库目录
    • chdir入仓库的目录
    • 创建mks沙箱内的仓库dir通过"si createsandbox-P MKS_PROJECT_PATH-是-projectRevision=CURRENTREV
    • 取修订说明通过"si viewprojecthistory--rfilter=范围:CURRENTREV-CURRENTREV",捕获输出!
    • 提取用户、日期、标签(s)意见之前的输出
    • "混帐添加。"
    • 管取信息从上到"混帐提交资历-"(无法做-m如果你想要多个行类似的检查点意见)
    • 下降的沙盒通过"si dropsandbox-是的索引。pj"
    • 移动。操.gitignore一个省的地方(为下一次)
    • 删除所有剩余文件的沙盒录
    • 移动到父dir(..)
    • 删除sandbox/回购dir
  • 创建最终git dir
  • 移动。操.gitignore成最终git dir
  • "混帐重置--硬头"

完成。

MKS使用某种ASCII encoding其串并让通常使用UTF-8所以看出问题时进口的元数据转git(用户姓名、评论、标签等)。

对于更多的分支机构这样做:

  • 在从初目录中检出的修订版本的分支应该开始,并创建一个分支("混帐结账-b NEWBRANCHNAME")
  • 现在移动。操.gitignore到保存和删除整个dir
  • 现在做同样的事情上

有一件事:"si"为MKS命令行工具。所以你要么需要指定其完成路径,或把其路径进入搜索的道路。

总的来说,si差异可悲的是,目前不支持统一的差异。有一个要求改变有这样做,但还没有被太多的客户要求,功能。

免责声明:我的工作PTC(谁获得MKS).

这适用于检查站...

https://gist.github.com/2369049

不幸的是,检查站似乎唯一真正让任何意义,从MKS->GIT,作为一个检查站是最近的事以"快照",这GIT电话提交。

MKS有这么多不相容的概念(每文件的版本,跟踪、分支机构,都没有像GIT支路、检查站,等等。 的),这都可以发展独立地从一个另一个就是真的很难说如何迁移到一个明智的历史进入饭桶。可能有许多的方式来做到这一点并没有他们更"正确"。

这就是说,我喜欢听到一些很好的想法。:)

我喜欢看到一个解决方案,它捕捉文件版本控制在一个合理的方式。在一些讨论,我们已经抛周围的想法,尝试行了MKS每文件的版本通过提交的时间或什么的。这样我们就可以制订概念的"仓库"不断演变通过一承诺,其中包含的变化在多个文件。

我使用这个工具来进口的变化包MKS入刺客,进口这件应该可以很相似;或者你可以进口到善变的第一和偏工具来进善变的下一步。

https://github.com/arsane/py-mks2hg.git

它会试图找出的所有更改的软件包,在指定的项目,并提交给新善变的储存库,以便。

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