【发布时间】:2014-09-08 18:06:44
【问题描述】:
我对 Git/LibGit2Sharp 还很陌生,我正在尝试使用 LibGit2Sharp 创建一个 git 存储库的镜像。按照此处给出的指示:https://github.com/libgit2/libgit2sharp/issues/577,我首先通过向其添加远程将外部存储库镜像到本地文件夹,并使用repo.Network.fetch(remote, fetchRefSpec),其中fetchRefSpec 是refs/\*:refs/*
现在,我想将数据推送到另一个远程存储库。在这里我很困惑。因为,当通过 git 命令执行此操作时,您将 remote.remoteName.mirror 配置条目设置为 true,然后执行 git push remoteName。当 mirror 设置为 true 时指定任何其他 refSpec 会出错。
但是,当使用 LibGit2Sharp 时,即使我设置了mirror = true,我仍然需要在推送时提供pushRefSpec。提供空或通配符 refSpecs 会引发异常。我什至尝试过refs/tags/\*:refs/tags/*,但我得到了同样的例外。循环遍历pushRefSpec 中的所有分支有效,但不会创建镜像。
有人试过吗?有没有更好的方法来做到这一点?
【问题讨论】:
标签: push mirror libgit2sharp