2015-04-26 12:48:37 +05:30
|
|
|
# Import bare repositories into your GitLab instance
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
## Notes
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
- The owner of the project will be the first admin
|
|
|
|
- The groups will be created as needed
|
|
|
|
- The owner of the group will be the first admin
|
|
|
|
- Existing projects will be skipped
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
## How to use
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
### Create a new folder inside the git repositories path. This will be the name of the new group.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
- For omnibus-gitlab, it is located at: `/var/opt/gitlab/git-data/repositories` by default, unless you changed
|
|
|
|
it in the `/etc/gitlab/gitlab.rb` file.
|
|
|
|
- For installations from source, it is usually located at: `/home/git/repositories` or you can see where
|
2016-08-24 12:49:21 +05:30
|
|
|
your repositories are located by looking at `config/gitlab.yml` under the `repositories => storages` entries
|
|
|
|
(you'll usually use the `default` storage path to start).
|
2015-04-26 12:48:37 +05:30
|
|
|
|
|
|
|
New folder needs to have git user ownership and read/write/execute access for git user and its group:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo -u git mkdir /var/opt/gitlab/git-data/repositories/new_group
|
|
|
|
```
|
|
|
|
|
|
|
|
If you are using an installation from source, replace `/var/opt/gitlab/git-data`
|
|
|
|
with `/home/git`.
|
|
|
|
|
|
|
|
### Copy your bare repositories inside this newly created folder:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo cp -r /old/git/foo.git /var/opt/gitlab/git-data/repositories/new_group/
|
|
|
|
|
|
|
|
# Do this once when you are done copying git repositories
|
|
|
|
sudo chown -R git:git /var/opt/gitlab/git-data/repositories/new_group/
|
|
|
|
```
|
|
|
|
|
|
|
|
`foo.git` needs to be owned by the git user and git users group.
|
|
|
|
|
|
|
|
If you are using an installation from source, replace `/var/opt/gitlab/git-data`
|
|
|
|
with `/home/git`.
|
|
|
|
|
|
|
|
### Run the command below depending on your type of installation:
|
|
|
|
|
|
|
|
#### Omnibus Installation
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
```
|
2015-04-26 12:48:37 +05:30
|
|
|
$ sudo gitlab-rake gitlab:import:repos
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Installation from source
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
Before running this command you need to change the directory to where your GitLab installation is located:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ cd /home/git/gitlab
|
|
|
|
$ sudo -u git -H bundle exec rake gitlab:import:repos RAILS_ENV=production
|
2014-09-02 18:07:02 +05:30
|
|
|
```
|
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
#### Example output
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
```
|
|
|
|
Processing abcd.git
|
|
|
|
* Created abcd (abcd.git)
|
|
|
|
Processing group/xyz.git
|
|
|
|
* Created Group group (2)
|
|
|
|
* Created xyz (group/xyz.git)
|
|
|
|
[...]
|
|
|
|
```
|