I'm having the same problem on my local gitorious install, at least on the production machine, didn't check on my dev virtual machine.
It seems that gitorious is not creating the /refs/merge-requests directory, not sure why. The repository in question was one that I manually migrated to gitorious, maybe this directory is created normally on a gitorious managed repo? Should I manually create this for each repository, or this should be automatic (ie. just create when a merge request is first create)? Output from script/console: >> mr.target_repository.full_repository_path => "/var/git/repositories/2f0/c78/ad7a33b9d36b627be36c5f26a1aa87bfe9.git" >> mr.tracking_repository.full_repository_path => "/var/git/repositories/bf2/0bc/183f15a0eb49b3a018fe27dde6b5ec5f06.git" Both this directories only have on refs/ 'heads" and 'tags" directories. tmp/pids/poller.log has this: #<Errno::ENOENT: No such file or directory - /var/git/repositories/bf2/0bc/183f15a0eb49b3a018fe27dde6b5ec5f06.git/git-daemon-export-ok> *** below you find all exception objects found in memory, some of them may have been thrown in your application, others may just be in memory because they are standard exceptions *** #<NoMemoryError: failed to allocate memory> #<SystemStackError: stack level too deep> #<fatal: exception reentered> #<LoadError: no such file to load -- daemons> #<TypeError: Expected a filter, an endpoint, a callable or a list of any of these.> #<Errno::ENOENT: No such file or directory - /var/git/repositories/bf2/0bc> #<ActiveMessaging::StopProcessingException: Time to stop.> #<SystemExit: exit> But the file is there with 666 permission. The repository in question has 777 permission, which is odd, all others repositories have 750 permission, and every thins is owned by git. poller, git-daemon, ultrasphinx and gitorious are all running as git, as they should. I'm not entirely sure what the problem really is! On Wed, Apr 27, 2011 at 3:20 AM, Marius Mårnes Mathiesen < [email protected]> wrote: > On Tue, Apr 26, 2011 at 6:27 PM, Ryan Linneman <[email protected]>wrote: > >> I've setup a private install of gitorious on ubuntu following >> Christians guide at >> http://cjohansen.no/en/ruby/setting_up_gitorious_on_your_own_server. >> Almost everything seems to be functional now. I can seem to find any >> other reports of the following issue and am not well versed in Ruby/ >> Rails. The problem I have is when attempting to review a merge >> request, the section "Commits that would be merged" shows the >> following "An error has occured. Please try again later." I've looked >> into the production.log file and get: >> >> NoMethodError (undefined method `diffs' for nil:NilClass): >> app/models/merge_request_version.rb:107:in `single_commit_diff' >> > > Ryan, > The problem you're seeing may be caused by some parts missing on your > server. A quick background: > > - When you create a merge request, a new branch is pushed to the target > repository (refs/merge-requests/<merge-request-id>. This branch will be the > commit chosen as the last commit in the merge request > - At the same time, one branch is created for each version of a merge > request in a hidden tracking repository for the target repository > (refs/merge-request/<merge-request-id>/<version> > > It could be that one of these branches is missing. To find the path to > these repositories on disk: > > Assuming the URL to your merge request is /project/repo/merge_requests/1: > enter this inside script/console to find the location of the repositories on > disk (substitute "project", "repository" and "1" with the real values from > your merge request: > > mr = > Project.find_by_slug("project").repositories.find_by_name("repo").merge_requests.find_by_sequence_number(1) > mr.target_repository.full_repository_path > mr.tracking_repository.full_repository_path > > Now, verify that the merge request branch exists in the target repository: > cat <target_repo_path>/refs/merge-requests/1 # should be the SHA of the > merge request > cat <tracking_repo_path>/refs/merge-requests/1/1 # should be the same > > Are both of these correct? > > Cheers, > - Marius > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected]
