Commit 935bc24e authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Improve project manifest import docs

parent 85f13127
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
1. [From SVN](svn.md) 1. [From SVN](svn.md)
1. [From TFS](tfs.md) 1. [From TFS](tfs.md)
1. [From repo by URL](repo_by_url.md) 1. [From repo by URL](repo_by_url.md)
1. [By uploading a manifest file](manifest.md) 1. [By uploading a manifest file (AOSP)](manifest.md)
In addition to the specific migration documentation above, you can import any In addition to the specific migration documentation above, you can import any
Git repository via HTTP from the New Project page. Be aware that if the Git repository via HTTP from the New Project page. Be aware that if the
......
# Import multiple repositories by uploading a manifest file # Import multiple repositories by uploading a manifest file
GitLab allows you to import all the required git repositories GitLab allows you to import all the required Git repositories
based a manifest file like the one used by the [Android repository](https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml). based on a manifest file like the one used by the
This feature can be very handy when you need to import a project with many repositories like Android Open Source Project (AOSP). [Android repository](https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml).
This feature can be very handy when you need to import a project with many
repositories like the Android Open Source Project (AOSP).
## Requirements
>**Note:** GitLab must be using PostgreSQL for its database, since
This feature requires [subgroups](../../group/subgroups/index.md) to be supported by your database. [subgroups](../../group/subgroups/index.md) are needed for the manifest import
to work.
You can do it by following next steps: Read more about the [database requirements](../../../install/requirements.md#database).
1. From your GitLab dashboard click **New project** ## Manifest format
1. Switch to the **Import project** tab
1. Click on the **Manifest file** button
1. Provide GitLab with a manifest xml file
1. Select a group you want to import to (you need to create a group first if you don't have one)
1. Click **List available repositories**
1. You will be redirected to the import status page with projects list based on manifest file
1. Check the list and click 'Import all repositories' to start import.
![Manifest upload](img/manifest_upload.png) 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 will be used to represent the project path in GitLab.
![Manifest status](img/manifest_status.png) Below is a valid example of a manifest file:
### Manifest format
A manifest must be an XML file. There must be one `remote` tag with `review` attribute
that contains a URL to a git server. Each `project` tag must have `name` and `path` attribute.
GitLab will build URL to the repository by combining URL from `remote` tag with a project name.
A path attribute will be used to represent project path in GitLab system.
Below is a valid example of manifest file.
```xml ```xml
<manifest> <manifest>
...@@ -41,9 +33,24 @@ Below is a valid example of manifest file. ...@@ -41,9 +33,24 @@ Below is a valid example of manifest file.
</manifest> </manifest>
``` ```
As result next projects will be created: As a result, the following projects will be created:
| GitLab | Import URL | | GitLab | Import URL |
|---|---| |---|---|
| https://gitlab/YOUR_GROUP/build/make | https://android-review.googlesource.com/platform/build | | https://gitlab.com/YOUR_GROUP/build/make | https://android-review.googlesource.com/platform/build |
| https://gitlab/YOUR_GROUP/build/blueprint | https://android-review.googlesource.com/platform/build/blueprint | | https://gitlab.com/YOUR_GROUP/build/blueprint | https://android-review.googlesource.com/platform/build/blueprint |
## Importing the repositories
You can start the import with:
1. From your GitLab dashboard click **New project**
1. Switch to the **Import project** tab
1. Click on the **Manifest file** button
1. Provide GitLab with a manifest xml file
1. Select a group you want to import to (you need to create a group first if you don't have one)
1. Click **List available repositories**. At this point, you will be redirected
to the import status page with projects list based on the manifest file.
1. Check the list and click **Import all repositories** to start the import.
![Manifest status](img/manifest_status.png)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment