我对Git / LibGit2Sharp相当陌生,正在尝试使用LibGit2Sharp创建git存储库的镜像。继这里给出的方向:https://github.com/libgit2/libgit2sharp/issues/577,我第一次通过远程增加,这反映出外部存储库到本地文件夹,并用repo.Network.fetch(remote, fetchRefSpec)
其中fetchRefSpec
的refs/\*:refs/*
现在,我想将数据推送到另一个远程存储库。在这里我很困惑。因为,当通过git命令执行此操作时,您将remote.remoteName.mirror
config条目设置为true,然后执行了git push remoteName
。refSpec
如果将mirror设置为true,则指定其他任何选项都会产生错误。
但是,当使用LibGit2Sharp时,即使设置了mirror = true
,我仍然必须提供pushRefSpec
一会儿推送。提供空或通配符refSpecs
将引发异常。我什至尝试过refs/tags/\*:refs/tags/*
,但是我遇到了同样的例外。遍历pushRefSpec
作品中的所有分支,但不会创建镜像。
有人尝试过吗?有没有更好的方法可以做到这一点?
该.mirror
配置是git工具的一个选项。libgit2(sharp)在另一个级别上工作,您需要在其中精确指定要推送的内容。
不幸的是,目前它不支持带有推送模式的refspec,因此,如果要推送每个引用,则必须分别添加每个引用作为推送的refspec。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句