git svn clone创建空的git存储库?

 黄秋蝉_961 发布于 2023-01-30 13:26

我正在尝试使用此命令将SVN存储库中的最后100个修订引入本地git存储库(在Windows上)。

git svn clone http://...-r 100

由于某些原因,除了.git文件夹以外,结果检出为空。

但是如果没有-r参数,它就可以正常工作(尽管可以检查出时间的曙光)。

有人知道发生了什么吗?

谢谢!

1 个回答
  • 对于git svn,-r参数引用SVN中的修订版本号,而不是所需的修订版本数。

    摘录自git help svn命令,显示了-r选项的以下描述:

       -r <arg>, --revision <arg>
           Used with the fetch command.
    
           This allows revision ranges for partial/cauterized history to be supported. $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges),
           $NUMBER:HEAD, and BASE:$NUMBER are all supported.
    
           This can allow you to make partial mirrors when running fetch; but is generally not recommended because history will be skipped
           and lost.
    

    对于您的情况,您需要找到SVN存储库的最新修订版,并从中减去100,以找到克隆的起始修订版。您还应该明确地将HEAD定义为最终修订版(因为也可以仅克隆修订历史记录的一部分)。

    因此,根据您的情况,计算出起始修订版本号是($ rev),然后运行以下命令:

    git svn clone -r $rev:HEAD http://...
    

    或者,如果您只想要最新的修订版本而不获取任何修订历史记录:

    git svn clone -r HEAD http://...
    

    注意:您还可以使用-s选项为SVN信息库指定标准的主干/分支/标签布局,但是,仅当克隆整个信息库历史记录时,这才有意义。当使用SVN分支时,我发现仅从您感兴趣的分支开始克隆存储库会更有效。例如:

    git svn clone -r HEAD http://.../branches/mybranch
    

    2023-01-30 13:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有