2

我有一个定期 git 同步脚本,它从比特桶云运行到我们的本地 git 存储库。

简而言之,它执行以下操作:

git clone --mirror ssh://source.git
git show-ref | cut -d ' ' -f2 | grep 'pull-request' | xargs -r -L1 git update-ref -d
git push --mirror ssh://target.git

此序列克隆了源存储库,清理了所有拉取请求引用并推送到目标存储库。它工作了几个月没有问题,但今天我收到以下错误:

远程:您正在尝试更新为

Bitbucket 的拉取请求功能。Bitbucket 管理这些 refs

自动,并且它们可能不会被用户更新。偏僻的:

拒绝的 refs:remote: refs/pull-requests/1/from

远程:refs/pull-requests/1/merge 远程:![偏僻的

拒绝] refs/pull-requests/1/from (pre-receive hook denied) !

[remote denied] refs/pull-requests/1/merge(预接收钩子

拒绝

)

在目标存储库上,我可以看到这些奇怪的引用,但在 UI 中没有拉取请求。我怀疑目标存储库中的某些内容已损坏,但我无法清除这些引用

git update-ref -d refs/pull-requests/1/merge
git update-ref -d refs/pull-requests/1/from
git push

该操作产生以下错误:

远程:您正在尝试更新为

Bitbucket 的拉取请求功能。Bitbucket 管理这些 refs

自动,并且它们可能不会被用户更新。远程:拒绝

参考:远程:参考/pull-requests/1/来自远程:

refs/pull-requests/1/merge

我有两个问题:)

1)什么会导致目标存储库中的这种损坏?

2)有没有办法摆脱目标上的这些引用?

4

0 回答 0