svn对Git标签的修订?

时间:2014-05-20 13:04:58

标签: git svn revision git-tag

我正在将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'。因为环境很新,一个例子(对于傻瓜)会很棒......

提前致谢!

2 个答案:

答案 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修订引用提交,请使用上面的特殊语法。