I import my bare git repository into Gitlab as described as here , because it was not recognized as an git repository, but creates a 94K big 'empty' repo (the original is 2,8GB big):
$ bundle exec rake gitlab:import:repos RAILS_ENV=production
fatal: Not a git repository (or any of the parent directories): .git
Processing test.git
INFO: Sidekiq client using redis://localhost:6379 with options:namespace=>"resque:gitlab"}
* Created test (test.git)
Done!
As a workaround I replace the empty project folder (which was created by import trial) with my bare repo. Afterwards I tree to clone the repo from remote and get the following error:
$ git clone git@mydomain.com:...test.git
Cloning into 'test'
fatal: '...test.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
But the git user should have all rights which are needed. -Maybe I have something overlooked?
My System: RHEL6.3, Git 1.8.3.4, Gitlab5.3.
Does Gitlab need a normal repository (non-bare)? Or what could be my problem?
Does Gitlab need a normal repository (non-bare)?
No, all repos managed by gitlab are bare repos.
You should see:
/home/git/repositories/user1/repo1.git
/home/git/repositories/user1/repo2.git
/home/git/repositories/greoup1/repo3.git
...
Make sure the rights of your test.git
folder (and bare repo files within it) are the same than the existing bare repos under /home/git/repositories/
.
If the import doesn't work, then "replace the empty project folder (which was created by import trial) with my bare repo" should.
But: you need to make sure any hook which was in the empty bare repo created by GitLab (in ~git/repositories/arepo.git/hooks
) is copied over your full bare repo replacing the empty one (same path).
Check also what was in ~git/repositories/arepo.git/info
and ~git/repositories/arepo.git/config
To debug, try first to clone the empty bare repo created by GitLab during the failed import.
Then replace it with your own, double-check the hooks and try again.
As mentioned by the OP and documented in GitLab "Trouble Shooting Guide", the correct ssh url is:
git@git.myserver.com:repositories/mygroup/proj1.git
with :repositories
mentioned.
To import bare repos (as mentioned by Sytse Sijbrandij below and in raketasks/import.md
)
For the documentation of this feature see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/import.md
For me the location to copy the repository is - /var/opt/gitlab/git-data/repositories
I copied my existing bare repository in above dir and ran >gitlab-rake gitlab:import:repos it worked!!!
I have it! It was a missing directory in my ssh path. This issue was already tracked here.
Sorry, but the error messages were not so obviously. I hope this can help other Gitlab-beginners like me :)