如何在将存储库从Mercurial转换为Subversion时保留修订时间戳?

hoc*_*chl 16 svn version-control mercurial

由于工作策略,我被迫使用Subversion.目前我已经使用Mercurial开发了一些代码,我必须将此存储库转换为新的Subversion存储库.当前的Mercurial存储库还包含我从另一个SVN存储库(HW驱动程序)复制的遗留代码部分,此代码包含$Id: ...$在复制代码时扩展的关键字(如).

我目前进行转换的方法是:

hg convert --dest-type svn repository.hg repository.svn
Run Code Online (Sandbox Code Playgroud)

遗憾的是,它不能保留Mercurial修订版的时间戳.此外,它还扩展了某些遗留代码部分中的标记,其中有人写了$Id: ...$东西.

问题:

  1. 如何导出到Subversion,保留修订的时间戳.
  2. 如何在不扩展$ Id:$ style关键字的情况下进行转换,或者更好的是,在转换时删除有问题的行.这是可能的,还是我必须在转换之前修改Mercurial转储的历史记录以确保没有关键字?

很抱歉,如果这个问题已经得到解答,我已经在谷歌和这里进行了强烈的搜索,但我找不到这个问题的答案.特别是时间戳问题必须是其他人已经遇到的问题.

干杯,H

编辑:我已经创建了一个脚本,从Mercurial导出文件中提取时间戳并更新Subversion转储文件,这只是一个kludge,但它的工作原理.$Id:遗憾的是,这个问题仍未得到解决.

小智 3

这是一个棘手的问题。为什么采用不同的解决方案:

https://bitbucket.org/durin42/hgsubversion/wiki/Home

这是 Mercurial 的扩展,允许您作为 SVN 客户端访问它,它适合您吗?