debian-mirror-gitlab/doc/user/project/import/manifest.md
2023-03-17 16:20:25 +05:30

2.9 KiB

type stage group info
howto Manage Import To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments

Import multiple repositories by uploading a manifest file (FREE)

Introduced in GitLab 11.2.

GitLab allows you to import all the required Git repositories based on a manifest file like the one used by the Android repository. Use the manifest to import a project with many repositories like the Android Open Source Project (AOSP).

Requirements

  • GitLab must use PostgreSQL for its database, because subgroups are needed for the manifest import to work. Read more about the database requirements.
  • At least the Maintainer role on the destination group to import to. Using the Developer role for this purpose was deprecated in GitLab 15.8 and will be removed in GitLab 16.0.

Manifest format

A manifest must be an XML file. There must be one remote tag with a review attribute that contains a URL to a Git server, and each project tag must have a name and path attribute. GitLab will then build the URL to the repository by combining the URL from the remote tag with a project name. A path attribute is used to represent the project path in GitLab.

Below is a valid example of a manifest file:

<manifest>
  <remote review="https://android.googlesource.com/" />

  <project path="build/make" name="platform/build" />
  <project path="build/blueprint" name="platform/build/blueprint" />
</manifest>

As a result, the following projects are created:

GitLab Import URL
https://gitlab.com/YOUR_GROUP/build/make https://android.googlesource.com/platform/build
https://gitlab.com/YOUR_GROUP/build/blueprint https://android.googlesource.com/platform/build/blueprint

Import the repositories

To start the import:

  1. From your GitLab dashboard select New project.

  2. Switch to the Import project tab.

  3. Select Manifest file.

  4. Provide GitLab with a manifest XML file.

  5. Select a group you want to import to (you need to create a group first if you don't have one).

  6. Select List available repositories. At this point, you are redirected to the import status page with projects list based on the manifest file.

  7. Check the list and select Import all repositories to start the import.

    Manifest status