Original `config` and `description` files are missing from repositories folders after restore
Summary
I want to migrate from an omnibus install to a dockerized gitlab-ce instance. Both are v11.6.5.
Backup and Restore feature doesn't work as it should.
Gitlab repositories folder content is not same after restore.
e.g Modifications to some-repo.git/description
or some-repo.git/config
are lost on the restored gitlab instance.
Steps to reproduce
-
Having a running gitlab-ce v11.6.5
-
Kickoff a backup
gitlab-rake gitlab:backup:create
-
Move the backup to the new instance
-
Follow restore instructions from https://docs.gitlab.com/ce/raketasks/backup_restore.html
-
Check repositories folder content on the new gitlab instance
What is the current bug behavior?
It seems that the rake task gitlab:backup:create
relies on git bundle
features to save repositories. the task will pack each bundle alongside other data in the tar archive.
The restore task seems to untar
the backup archive, loop over repositories bundles and git clone repo.bundle
them...
It means that any manual update done, e.g to a repository.git/description
file will be lost.
What is the expected correct behavior?
I should be able to retrieve the exact same content/configurations/datas between my saved instance and the restored one.
The whole dataset from the backed up gitlab instance should be archived and restored unaltered.
Results of GitLab environment info
Expand for output related to GitLab environment info
Backup instance:GitLab information Version: 11.6.5 Revision: 237bddc Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql URL: obfuscated HTTP Clone URL: obfuscated/some-group/some-project.git SSH Clone URL: git@obfuscated:some-group/some-project.git
GitLab Shell Version: 8.4.3 Repository storage paths: default: obfuscated/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git
New instance:
GitLab information Version: 11.6.5 Revision: 237bddc Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql URL: obfuscated HTTP Clone URL: obfuscated/some-group/some-project.git SSH Clone URL: git@obfuscated:some-group/some-project.git Using LDAP: no
GitLab Shell Version: 8.4.3 Repository storage paths: default: /var/opt/gitlab/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git