Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
1c5e3690
Commit
1c5e3690
authored
Jan 31, 2020
by
Evan Read
Committed by
Marcel Amirault
Jan 31, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve project import/export content
parent
99bf6515
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
80 additions
and
60 deletions
+80
-60
doc/administration/raketasks/project_import_export.md
doc/administration/raketasks/project_import_export.md
+20
-15
doc/api/project_import_export.md
doc/api/project_import_export.md
+22
-10
doc/user/project/settings/import_export.md
doc/user/project/settings/import_export.md
+38
-35
No files found.
doc/administration/raketasks/project_import_export.md
View file @
1c5e3690
# Project import/export administration **(CORE ONLY)**
>**Note:**
>
> - [Introduced][ce-3050] in GitLab 8.9.
> - Importing will not be possible if the import instance version is lower
> than that of the exporter.
> - For existing installations, the project import option has to be enabled in
> application settings (`/admin/application_settings`) under 'Import sources'.
> - The exports are stored in a temporary [shared directory][tmp] and are deleted
> every 24 hours by a specific worker.
> - ImportExport can use object storage automatically starting from GitLab 11.3
The GitLab Import/Export version can be checked by using:
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/3050) in GitLab 8.9.
> - From GitLab 11.3, import/export can use object storage automatically.
See also:
-
[
Project import/export documentation
](
../../user/project/settings/import_export.md
)
.
-
[
Project import/export API
](
../../api/project_import_export.md
)
.
The GitLab import/export version can be checked by using the following command:
```
shell
# Omnibus installations
...
...
@@ -21,7 +18,7 @@ sudo gitlab-rake gitlab:import_export:version
bundle
exec
rake gitlab:import_export:version
RAILS_ENV
=
production
```
The current list of DB tables that will
get exported can be listed by using
:
The current list of DB tables that will
be exported can be listed by using the following command
:
```
shell
# Omnibus installations
...
...
@@ -31,5 +28,13 @@ sudo gitlab-rake gitlab:import_export:data
bundle
exec
rake gitlab:import_export:data
RAILS_ENV
=
production
```
[
ce-3050
]:
https://gitlab.com/gitlab-org/gitlab-foss/issues/3050
[
tmp
]:
../../development/shared_files.md
## Important notes
Note the following:
-
Importing is not possible if the version of the import instance is older than that of the exporter.
-
The project import option must be enabled in
application settings (
`/admin/application_settings`
) under
**Import sources**
, which is available
under
**{admin}**
**Admin Area >**
**{settings}**
**Settings > Visibility and access controls**
.
-
The exports are stored in a temporary
[
shared directory
](
../../development/shared_files.md
)
and are deleted every 24 hours by a specific worker.
doc/api/project_import_export.md
View file @
1c5e3690
# Project import/export API
> [Introduced]
[ce-41899]
in GitLab 10.6.
> [Introduced]
(https://gitlab.com/gitlab-org/gitlab-foss/issues/41899)
in GitLab 10.6.
See also the
[
project import/export documentation
](
../user/project/settings/import_export.md
)
.
See also:
-
[
Project import/export documentation
](
../user/project/settings/import_export.md
)
.
-
[
Project import/export administration rake tasks
](
../administration/raketasks/project_import_export.md
)
.
**(CORE ONLY)**
## Schedule an export
Start a new export.
The endpoint also accepts an
`upload`
param
. This param
is a hash that contains
The endpoint also accepts an
`upload`
param
eter. This parameter
is a hash that contains
all the necessary information to upload the exported project to a web server or
to any S3-compatible platform. At the moment we only support binary
data file uploads to the final server.
If the
`upload`
params is present,
`upload[url]`
param is required.
(
**Note:**
This feature was introduced in GitLab 10.7)
From GitLab 10.7, the
`upload[url]`
parameter is required if the
`upload`
parameter is present.
```
text
POST /projects/:id/export
...
...
@@ -56,8 +58,14 @@ GET /projects/:id/export
curl
--header
"PRIVATE-TOKEN: <your_access_token>"
https://gitlab.example.com/api/v4/projects/1/export
```
Status can be one of
`none`
,
`started`
,
`after_export_action`
or
`finished`
. The
`after_export_action`
state represents that the export process has been completed successfully and
Status can be one of:
-
`none`
-
`started`
-
`after_export_action`
-
`finished`
The
`after_export_action`
state represents that the export process has been completed successfully and
the platform is performing some actions on the resulted file. For example, sending
an email notifying the user to download the file, uploading the exported file
to a web server, etc.
...
...
@@ -178,7 +186,13 @@ GET /projects/:id/import
curl
--header
"PRIVATE-TOKEN: <your_access_token>"
https://gitlab.example.com/api/v4/projects/1/import
```
Status can be one of
`none`
,
`scheduled`
,
`failed`
,
`started`
, or
`finished`
.
Status can be one of:
-
`none`
-
`scheduled`
-
`failed`
-
`started`
-
`finished`
If the status is
`failed`
, it will include the import error message under
`import_error`
.
...
...
@@ -194,5 +208,3 @@ If the status is `failed`, it will include the import error message under `impor
"import_status"
:
"started"
}
```
[
ce-41899
]:
https://gitlab.com/gitlab-org/gitlab-foss/issues/41899
doc/user/project/settings/import_export.md
View file @
1c5e3690
# Project import/export
>**Notes:**
>
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/3050) in GitLab 8.9.
> - Importing will not be possible if the import instance version differs from
> that of the exporter.
> - For GitLab admins, please read through
> [Project import/export administration](../../../administration/raketasks/project_import_export.md).
> - For existing installations, the project import option has to be enabled in
> application settings (`/admin/application_settings`) under 'Import sources'.
> Ask your administrator if you don't see the **GitLab export** button when
> creating a new project.
> - Starting with GitLab 10.0, administrators can disable the project export option
> on the GitLab instance in application settings (`/admin/application_settings`)
> under 'Visibility and Access Controls'.
> - You can find some useful raketasks if you are an administrator in the
> [import_export](../../../administration/raketasks/project_import_export.md) raketask.
> - The exports are stored in a temporary [shared directory](../../../development/shared_files.md)
> and are deleted every 24 hours by a specific worker.
> - Group members will get exported as project members, as long as the user has
> maintainer or admin access to the group where the exported project lives. An admin
> in the import side is required to map the users, based on email or username.
> Otherwise, a supplementary comment is left to mention the original author and
> the MRs, notes or issues will be owned by the importer.
> - Project members with owner access will get imported as maintainers.
> - Control project Import/Export with the [API](../../../api/project_import_export.md).
> - If an imported project contains merge requests originated from forks,
> then new branches associated with such merge requests will be created
> within a project during the import/export. Thus, the number of branches
> in the exported project could be bigger than in the original project.
Existing projects running on any GitLab instance or GitLab.com can be exported
with all their related data and be moved into a new GitLab instance.
> - From GitLab 10.0, administrators can disable the project export option on the GitLab instance.
Existing projects running on any GitLab instance or GitLab.com can be exported with all their related
data and be moved into a new GitLab instance.
See also:
-
[
Project import/export API
](
../../../api/project_import_export.md
)
.
-
[
Project import/export administration rake tasks
](
../../../administration/raketasks/project_import_export.md
)
.
**(CORE ONLY)**
## Important notes
Note the following:
-
Importing is not possible if the import instance version differs from
that of the exporter.
-
The project import option must be enabled in
application settings (
`/admin/application_settings`
) under under
**Import sources**
, which is
available under
**{admin}**
**Admin Area >**
**{settings}**
**Settings > Visibility and access controls**
.
Ask your administrator if you don't see the
**GitLab export**
button when
creating a new project.
-
The exports are stored in a temporary
[
shared directory
](
../../../development/shared_files.md
)
and are deleted every 24 hours by a specific worker.
-
Group members are exported as project members, as long as the user has
maintainer or admin access to the group where the exported project lives. An admin
in the import side is required to map the users, based on email or username.
Otherwise, a supplementary comment is left to mention the original author and
the MRs, notes, or issues will be owned by the importer.
-
Project members with owner access will be imported as maintainers.
-
If an imported project contains merge requests originating from forks,
then new branches associated with such merge requests will be created
within a project during the import/export. Thus, the number of branches
in the exported project could be bigger than in the original project.
## Version history
The following table lists updates to Import/Export:
| GitLab version | Import/Export version |
| ---------------- | --------------------- |
| 11.1 to current | 0.2.4 |
...
...
@@ -52,9 +56,8 @@ with all their related data and be moved into a new GitLab instance.
| 8.9.5 | 0.1.1 |
| 8.9.0 | 0.1.0 |
> The table reflects what GitLab version we updated the Import/Export version at.
> For instance, 8.10.3 and 8.11 will have the same Import/Export version (0.1.3)
> and the exports between them will be compatible.
For example, 8.10.3 and 8.11 will have the same Import/Export version (0.1.3)
and the exports between them will be compatible.
## Exported contents
...
...
@@ -88,7 +91,7 @@ For more details on the specific data persisted in a project export, see the
1.
Go to your project's homepage.
1.
Click
**Settings**
in the sidebar.
1.
Click
**
{settings}**
**
Settings**
in the sidebar.
1.
Scroll down to find the
**Export project**
button:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment