If home/git/repositories is a symlink all post receive hooks fail with
gitlab:1276 on POST_RECEIVE at just nowClassPostReceiveArguments"rpool/repositories/repositories/root/test13""0000000000000000000000000000000000000000""5ad1a2184774efe3e5a916e49f09540d88ebce90""refs/heads/master""admin_local_host_1356345379"ExceptionNoMethodErrorErrorundefined method `id' for nil:NilClass
gitlab:check is green. I recognized this on my production server and could reproduce it on my development VM.
Running on 4.1.0pre c8ba5c2d
Changing that to repos_path: /rpool/repositories/repositories/ and removing the the symlink cause
root@gitlab:/home/gitlab/gitlab# sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-adminCloning into /tmp/gitolite-admin...Warning: Permanently added 'localhost' (RSA) to the list of known hosts.FATAL: R any gitolite-admin gitlab DENIED by fallthru(or you mis-spelled the reponame)fatal: The remote end hung up unexpectedly
By Administrator on 2012-12-26T13:41:24 (imported from GitLab)
Is the symlink necessary if repos_path is set to /rpool/repositories/repositories/?
If the symlink is present sudo -u gitlab -H git clone git@localhost:gitolite-admin.git works. If it's not (although repos_path is set to another directory) neither sudo -u gitlab -H git clone git@localhost:gitolite-admin.git nor `sudo -u gitlab -H git clone git@localhost:gitolite-admin? is working.
By Administrator on 2012-12-26T14:22:13 (imported from GitLab)
you can use any symlink but you should keep a real path in repos_path. Its because we parse everything based on this variable. And if your path is rpool/repositor... we cannot extract project name with namespace without knowing about repos path rpool/repos...
By Administrator on 2012-12-27T09:27:14 (imported from GitLab)
sudo -u gitlab -H git clone git@localhost:gitolite-admin.git works but all retried rescue jobs still fail.
Edit: Post receive hooks for new pushed commits work. Is there a possibility to get the failed hooks working again?
By Administrator on 2012-12-27T11:03:11 (imported from GitLab)
@razer6 maybe you need to rebuild the Gitolite config after changing the repos_path? sudo -u gitlab -H bundle exec rake gitlab:gitolite:update_repos RAILS_ENV=production
By Administrator on 2012-12-27T16:09:23 (imported from GitLab)
I am having the same problem.
I have changed my repos_path to the non symlinked path but still all my post receives are failing.
I have tried gitlab:gitolite:update_repos - still not working.
Both new and old post receives are failing.
Would it make any difference, I have enabled namespaces, but all of my projects are in the global namespace.
Having said that, it seems to be working again now.
By Administrator on 2013-01-15T10:24:49 (imported from GitLab)
I'm having similar trouble with our post_receive hook. In my case, /home/git is symlinked to another place. I've changed the gitolite.repos_path to point to the non-symlinked path, but I'm still getting errors. Looking at the queue, it is strange that the repos path that is in the resque job is not absolute:
usr/local/gitlab/git-home/repositories/...
So, when the PostReceive class is run, the first thing it does is: