GiteaからGitLabにプロジェクトをインポートします。

GitLab 15.8で導入されたGitLabは、存在しない名前空間やグループを自動的に作成しなくなりました。GitLabはまた、名前空間やグループ名が取られた場合に、ユーザーの個人的な名前空間を使うようにフォールバックすることもなくなりました。

GiteaからGitLabへプロジェクトをインポート。

Giteaインポーターはインポートすることができます:

  • リポジトリの説明
  • Git リポジトリのデータ
  • イシュー
  • プルリクエスト
  • マイルストーン
  • ラベル

インポートの際、リポジトリの公開は保持されます。Giteaでリポジトリが非公開の場合、GitLabでも非公開として作成されます。

GiteaはOAuthプロバイダーではないため、作成者/担当者をGitLabインスタンスのユーザーにマッピングすることはできません。つまり、プロジェクトの作成者(通常はインポートを開始したユーザー)が作成者として設定されます。しかし、オリジナルのGiteaの作成者についてのイシューへの参照は保持されます。

前提条件

GitLab16.0で導入され、GitLab15.11.1とGitLab15.10.5にバックポートされたDeveloperロールの代わりにMaintainerロールの要件。

  • Gitea バージョン 1.0.0 以降。
  • Giteaインポートソースが有効になっている必要があります。有効になっていない場合は、GitLab管理者に有効にしてもらうよう依頼してください。GiteaインポートソースはGitLab.comではデフォルトで有効になっています。
  • インポート先のグループで、少なくともメンテナーのロールがあること。

Giteaリポジトリのインポート

インポートページは新しいプロジェクトを作成する際に表示されます。

Giteaリンクを選択して、インポートの作成者プロセスを開始します。

New Gitea project import

個人アクセストークンを使用してリポジトリへのアクセス作成者を認証します。

この方法では、Giteaで1回限りの認証を行い、GitLabにリポジトリへのアクセスを許可します:

  1. https://your-gitea-instance/user/settings/applications にアクセスしてください(your-gitea-instance を Gitea インスタンスのホストに置き換えてください)。
  2. 新しいトークンの生成]を選択します。
  3. トークンの説明を入力します。
  4. トークンの生成」を選択します。
  5. トークンのハッシュをコピーします。
  6. GitLabに戻り、トークンをGiteaインポーターに渡します。
  7. List your Gitea repositoriesを選択し、GitLabがリポジトリの情報を読み込むまで待ちます。それが終わると、GitLabはインポートページを表示し、インポートするリポジトリを選択します。

インポートするリポジトリを選択します。

Giteaリポジトリへのアクセスを作成者に許可すると、Giteaインポーターページにリダイレクトされます。

そこからGiteaリポジトリのインポートステータスを見ることができます:

  • インポート中のものは、_開始_ステータスが表示されます。
  • すでにインポートに成功したものは、緑色で_完了_ステータスが表示されます。
  • まだインポートされていないものは、表の右側にインポートが表示されています。
  • インポート済みのものは、表の右側に「再インポート」があります。

また、以下のこともできます:

  • 左上隅で、すべてのプロジェクトをインポートを選択すると、すべてのGiteaプロジェクトを一度にインポートすることができます。
  • プロジェクトを名前でフィルタリングします。フィルターが適用されている場合、すべてのプロジェクトをインポートすると、選択したプロジェクトだけがインポートされます。

Gitea importer page

また、権限があれば、プロジェクト名とネームスペースを別の名前にすることもできます。