GitLab で Merge ができない (解決)

当社ではバージョン管理に GitLab と GitHub を併用しています。最初はセルフホストした GitLab 1本でしたが、Azure Static Web Apps などを使う関係で一部のプロジェクトは GitHub で運用しています。GitHub はプライベートリポジトリやコラボレーターの数も気にしなくてよくなりましたし、管理の手間からすべて GitHub に移行してしまおうかと検討中です。そんな中、事件は起きました。

Source branch does not exist

とあるプロジェクトで Merge request が来ていたため確認しようとしたところ、Merge ボタンがグレーアウトされています。その横に「Source branch does not exist.」という表示があります。??? ということで branch を確認しましたが、しっかりと存在しています。

あ…ありのまま 今 起こった事を話すぜ!
「おれは ブランチのマージをしようと思ったら いつのまにか消えていた(消えていない)」
な… 何を言ってるのか わからねーと思うが (以下略)

試し別のブランチからも試してみましたが同様です。消えている(消えていない) ブランチを Clone したところ正常に終了します。そしてローカルでは Merge できます。

解決策

ちょっと忙しくて放置していましたが、優秀な後輩が issue を見つけてきました。2022/5/26時点でもステータスが Open になっているので根本的な解決はしていないようですが、回避策として Settings > General > Advanced > Housekeeping から [Run housekeeping] をするといいよ、ということでした。手順通り実行してみましたが、これだけでは解決せず、一度 Merge request をClose してから新しく Merge request を出しなおしてもらったところ、正常に Merge することができました。

ついでに GitLab を14.10.3 までアップグレードしておきました。2022/5/20 に 15.0.0 が出ているようですが、さすがにメジャーバージョンアップは怖いので人柱待ちです。

まとめ

Merge できなくなったら家事 (housekeeping) をしましょう。より一層 GitHub への移行したい気持ちが強くなった出来事でした。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA