info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
---
# Migration to Versioned Snippets **(CORE ONLY)**
# Migration to versioned snippets **(CORE ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215861) in GitLab 13.0.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215861) in GitLab 13.0.
In GitLab 13.0, [GitLab Snippets are backed by Git repositories](../user/snippets.md#versioned-snippets).
In GitLab 13.0, [GitLab Snippets are backed by Git repositories](../user/snippets.md#versioned-snippets).
This means that the snippet content will be stored in the repository
Snippet content is stored in the repository, and users can update it directly through Git.
and users can update it directly through Git.
Nevertheless, existing GitLab Snippets have to be migrated to this new functionality.
Nevertheless, existing GitLab Snippets must be migrated to this new feature.
For each snippet, a new repository is created and the snippet content is committed
For each snippet:
to the repository inside a file whose name is the filename used in the snippet
as well.
GitLab performs this migration through a [Background Migration](../development/background_migrations.md)
- A new repository is created.
automatically when the GitLab instance is upgrade to 13.0 or a higher version.
- A file is created in the repository, using the snippet filename.
However, if the migration fails for any of the snippets, they still need
- The snippet is committed to the repository.
to be migrated individually.
The following Rake tasks will help with that process.
GitLab performs this migration through a [Background Migration](../development/background_migrations.md)
when the GitLab instance is upgraded to 13.0 or a higher version.
However, if the migration fails for any of the snippets, they must be migrated individually.