Unable to push annotated tags to Bitbucket server where LFS (Large File System) File lock is enabled.

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

要約

When there are multiple files locked by the users in an LFS-enabled repository and someone tries to push a tag into it, it times out. There are no other errors in the logs. But you will still be able to create the tag from the Bitbucket UI.

環境

Bitbucket server <6.10.11, 7.6.6, 7.12.1

診断


When the push command is being executed, it doesn't return any other error. It just times out like below after hours.

git push origin tagname
"/usr/bin/git -c core. hooksPath-hooks receive-pack <bitbucket_home>/shared/data/repositories/1" timed out on server.

If we run the same command with debug mode, like below, it runs in an infinite loop for more than 24 hours and fetches the locks.

GIT_TRACE=1 GIT_TRANSFER_TRACE=1 GIT_CURL_VERBOSE=1 git push --tags

git lfs locks command lists more than 100+ locks on files of the repository. 

原因

The git lfs locks --verify command that runs as part of the git push, runs infinitely when there are more than 100 LFS files with locks in the repository. There is already a bug raised for this.

So because of this, the push command never completes.

ソリューション

As a workaround, you can push the tags with the --no-verify parameter. This skips the lock verification.

git push --tags --no-verify

The permanent fix for this problem would be to upgrade to a fixed version listed in the bug report, which are 7.6.6, 6.10.11 and 7.12.1.



最終更新日 2022 年 7 月 27 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.