我正在将svn存储库导入Git(该工具将是Git Extensions)。在导入过程中,我会看到如下行:
r155 = c154830e428e064e14c373d344f7b233c70c56a9(refs / remotes / trunk)
我猜这意味着在这种情况下svn修订版155获取哈希c15483 ......等等,我是否正确?将来,当我们和Git一起生活并且svn被“遗忘”时,我们可以通过svn版本号跟踪Git之前发布的版本。所以问题是,在这个导入过程中是否有任何方法可以将svn修订号导入Git commit标签(作为标签的所有修订都会很棒)?新的提交将以不同的方式处理,因此这仅涉及Git之前的生活。我找到了一个与我的案例相关的话题,但我不太确定它是否适合我(实际上是其中的脚本):
git-svn: automatically importing/creating svn revisions as git tags
从上面提到的一行我想要一个标签'r155'。因为环境很新,一个例子(对于傻瓜)会很棒......
提前致谢!
答案 0 :(得分:0)
我找到了以下内容:
When converting from SVN to Git, how do I put the revision number in the commit message?(特别是带示例脚本的那个)
转换完成的方式非常类似于:
How to migrate SVN repository with history to a new Git repository?(以最受欢迎的方式描述的方式)
现在是愚蠢的(?)问题:
我执行脚本的过程的方式,地点和位置?
答案 1 :(得分:0)
r155 = c154830e428e064e14c373d344f7b233c70c56a9(refs / remotes / trunk)
我猜这意味着在这种情况下svn修订版155得到了 哈希c15483 ......等等,我说错了吗?
是的,确实。
将来当我们和Git一起生活时,svn被遗忘了#34; 我们可以跟踪svn之前在Git之前发布的版本 修订号。所以问题是,有没有任何进口方式 在此导入过程中,将svn修订号转换为Git commit标记(全部 修改标签会很棒)?
为每个SVN版本添加标记似乎不是一个好主意。标签适用于"特殊"修订(通常是那些以某种方式发布或投入生产的修订)。无论如何,git svn
默认情况下会将SVN修订版嵌入到它创建的每次提交的提交消息中。
示例:
Author: abc <abc@234986eef58-4435-45da-9345-24623feaa07>
Date: Fri Apr 11 09:35:35 2014 +0000
Fix bug #123.
git-svn-id: http://svn/repo/url/trunk@4711 234986eef58-4435-45da-9345-24623feaa07
git-svn-id
包含&#34; @&#34;之后的SVN修订版。 (在这种情况下为4711)。
请注意,您可以直接引用从SVN修订版创建的git提交,即使每个修订版都没有git标记。使用语法:/text
,您可以直接引用包含&#34; text&#34;的提交。所以,要参考SVN修订版123的提交:
git show&#34;:/ @ 123&#34;
注意引号和尾随空格;这些是必要的,以匹配以&#34; 123&#34;开头的修订,例如&#34; 1234&#34;。
总结:
你不需要做任何特别的事情。只需使用git svn
进行克隆,如果需要通过SVN修订引用提交,请使用上面的特殊语法。