summaryrefslogtreecommitdiff
path: root/doc/user/project/settings/import_export.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/project/settings/import_export.md')
-rw-r--r--doc/user/project/settings/import_export.md59
1 files changed, 29 insertions, 30 deletions
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index b85f52d43bb..3715eef08e0 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -14,7 +14,7 @@ then imported into a new GitLab instance. You can also:
GitLab maps user contributions correctly when an admin access token is used to perform the import.
-As a result, migrating projects using file exports does not map user contributions correctly when you are importing
+Consequently, migrating projects using file exports does not map user contributions correctly when you are importing
projects from a self-managed instance to GitLab.com.
Instead, all GitLab user associations (such as comment author) are changed to the user importing the project. For more
@@ -27,6 +27,30 @@ To preserve contribution history, [migrate using direct transfer](../../group/im
If you migrate from GitLab.com to self-managed GitLab, an administrator can create users on the self-managed GitLab instance.
+## Compatibility
+
+FLAG:
+On self-managed GitLab by default project, file exports are in NDJSON format. To make GitLab produce project file
+exports in JSON format, ask an administrator to [disable the feature flags](../../../administration/feature_flags.md)
+named `project_export_as_ndjson`. To allow GitLab to import project file exports in JSON format, ask an administrator to
+[disable the feature flags](../../../administration/feature_flags.md) named `project_import_ndjson`. On GitLab.com,
+project file exports are in NDJSON format only.
+
+Project file exports are in NDJSON format. Before version 14.0, GitLab produced project file exports in JSON format.
+To support transitions, you can still import JSON-formatted project file exports if you configure the relevant feature
+flags.
+
+From GitLab 13.0, GitLab can import project file exports that were exported from a version of GitLab up to two
+[minor](../../../policy/maintenance.md#versioning) versions behind, which is similar to our process for
+[security releases](../../../policy/maintenance.md#security-releases).
+
+For example:
+
+| Destination version | Compatible source versions |
+|:--------------------|:---------------------------|
+| 13.0 | 13.0, 12.10, 12.9 |
+| 13.1 | 13.1, 13.0, 12.10 |
+
## Configure file exports as an import source **(FREE SELF)**
Before you can migrate projects on a self-managed GitLab instance using file exports, GitLab administrators must:
@@ -47,7 +71,7 @@ To enable file exports as an import source for the destination instance:
## Between CE and EE
You can export projects from the [Community Edition to the Enterprise Edition](https://about.gitlab.com/install/ce-or-ee/)
-and vice versa. This assumes [version history](#version-history) requirements are met.
+and vice versa, assuming [compatibility](#compatibility) is met.
If you're exporting a project from the Enterprise Edition to the Community Edition, you may lose
data that is retained only in the Enterprise Edition. For more information, see
@@ -127,10 +151,11 @@ Items that are **not** exported include:
- Pipeline triggers
- Webhooks
- Any encrypted tokens
-- [Number of required approvals](https://gitlab.com/gitlab-org/gitlab/-/issues/221088)
+- [Number of required approvals](https://gitlab.com/gitlab-org/gitlab/-/issues/221087)
- Repository size limits
- Deploy keys allowed to push to protected branches
- Secure Files
+- [Activity logs for Git-related events](https://gitlab.com/gitlab-org/gitlab/-/issues/214700). For example, pushing and creating tags
## Import a project and its data
@@ -145,7 +170,7 @@ Prerequisites:
- You must have [exported the project and its data](#export-a-project-and-its-data).
- Compare GitLab versions and ensure you are importing to a GitLab version that is the same or later
than the GitLab version you exported to.
-- Review the [Version history](#version-history) for compatibility issues.
+- Review [compatibility](#compatibility) for any issues.
- At least the Maintainer role on the destination group to migrate to. Using the Developer role for this purpose was
[deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/387891) in GitLab 15.8 and will be removed in GitLab 16.0.
@@ -220,32 +245,6 @@ To help avoid abuse, by default, users are rate limited to:
| Download export | 1 download per group per minute |
| Import | 6 projects per minute |
-## Version history
-
-### 15.8+
-
-Starting with GitLab 15.8, importing groups from a JSON export is no longer supported. Groups must be imported
-in NDJSON format.
-
-### 14.0+
-
-In GitLab 14.0, the JSON format is no longer supported for project and group exports. To allow for a
-transitional period, you can still import any JSON exports. The new format for imports and exports
-is NDJSON.
-
-### 13.0+
-
-Starting with GitLab 13.0, GitLab can import bundles that were exported from a different GitLab deployment.
-**This ability is limited to two previous GitLab [minor](../../../policy/maintenance.md#versioning)
-releases**, which is similar to our process for [Security Releases](../../../policy/maintenance.md#security-releases).
-
-For example:
-
-| Current version | Can import bundles exported from |
-|-----------------|----------------------------------|
-| 13.0 | 13.0, 12.10, 12.9 |
-| 13.1 | 13.1, 13.0, 12.10 |
-
## Related topics
- [Project import and export API](../../../api/project_import_export.md)