Git 用目标文件内容替换符号链接

Git 用目标文件内容替换符号链接,git,svn,version-control,symlink,version-control-migration,Git,Svn,Version Control,Symlink,Version Control Migration,我有一个svn树,我想把它转换成多个独立的git存储库。这种迁移的一个方面是,subversion树中的跨模块符号链接inode应该被git存储库中的实际文件内容替换。因此,如果在某个时刻,A/foo是到B/foo的符号链接,那么相应的git提交应该有一个普通文件A/foo,其内容是B/foo的内容。如果以后的一些svn提交更改了B/foo的内容,那么A的git模块应该有一个匹配的提交来反映此更改 我可以使用什么工具进行此操作? 现在,我能想到的最好的计划是: 那 使用一些自定义编写的一次性代

我有一个svn树,我想把它转换成多个独立的git存储库。这种迁移的一个方面是,subversion树中的跨模块符号链接inode应该被git存储库中的实际文件内容替换。因此,如果在某个时刻,
A/foo
是到
B/foo
的符号链接,那么相应的git提交应该有一个普通文件
A/foo
,其内容是
B/foo
的内容。如果以后的一些svn提交更改了
B/foo
的内容,那么
A
的git模块应该有一个匹配的提交来反映此更改

我可以使用什么工具进行此操作?

现在,我能想到的最好的计划是:

  • 使用一些自定义编写的一次性代码对输出进行按摩,将符号链接转换为内容文件
  • 将结果转换为新的单吉特回购
  • 从此
  • 但也许你可以建议更简单的解决方案,使用现有的代码、现有的功能、现有的工具,或者使用我没有想到的快捷方式

    也许有一种方法可以在subversion端处理更多这些步骤。由于我大量使用了创建文件的subversion副本,并且由于这个概念只能在git概念中表达得很差,我担心上述方法可能会由于复制的文件而丢失版本历史