当前位置:  开发笔记 > 开发工具 > 正文

在SubGit导入的Git提交消息中添加Subversion修订版

如何解决《在SubGit导入的Git提交消息中添加Subversion修订版》经验,为你挑选了1个好方法。

我正在使用简单的按时导入将现有的SVN存储库迁移到GIT.

$ subgit import --svn-url http://svn/repo repo.git

一切正常,但有没有机会在SubGit创建的每个GIT提交中包含相应的SVN修订号?



1> Dmitry Pavle..:

目前没有这样的功能,但有一些具有类似效果的东西.

当您设置对Git存储库的访问权限时,在克隆它之后,您可以遵循SubGit书中的这一建议.即编辑.git/config要设置的文件

[remote "origin"]
...
fetch = +refs/svn/map:refs/notes/commits

然后跑

git fetch

下载Git笔记.之后"git log"将显示修订号.

此外,如果您需要通过SHA-1哈希查找修订号,反之亦然,您可以运行

git log --all --format="%H %N"

输出可能如下所示:

669d570bc561023034c7b28fd6e0a369662b1258 
aa628cf9ac100bb144f50490d403e2dcacfd0842 r3624 trunk

db76bb8572f62169a9a28532890610b5a6c234c9 
c5b2a475ce5fce72a620064b7b9507af2ec10212 r3623 branches/feature

a5938100859e6d1a245f84907acd33cf8092eb96 
086773418197047b523cda6e892441b1364c56f7 r3622 branches/feature

f47b87de14a9d476cd8efd708e0571512875faf9 
fb8edc1b9ad1668c1930f8db6f6e43c08d02baa1 
64fd8ef37200438dd4068255ff56ac09e73a8259 
00cc3cc581593c90155569fadb47c0d99565a362 
7ca753c7c8ae572ceff235eb8f68d1e8805f0bc4 r3621 branches/feature

827a04ebede055a6847b52d416efe04b9e81511e r3620 branches/feature

之后,您可以使用grep,awk,sed和其他您喜欢的工具来修订SHA1,反之亦然.

没有修订号的行对应于Git注释本身(提交的Git注释存储在其他Git提交中),而Git提交没有用注释注释,即不从SVN翻译.在提交注释后添加空行,因为注释末尾包含LF字符; grep和awk非常善于忽略它们.

我希望这比将修订直接放入提交消息更方便.

最后,我将补充说,这一切不仅适用于导入,也适用于连续同步.

我是SubGit开发人员之一.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有