#4017 Cannot merge pull requests
Closed: Insufficient data 5 years ago by wattersmt. Opened 5 years ago by wattersmt.

I just noticed that our pagure install is not allowing the merge button to be activated. Attached is a screenshot for reference.

Screenshot_from_2018-11-16_10-25-35.png

The apache logs are also showing errors each time I load the pull request page as follows.

[Fri Nov 16 10:40:42.110367 2018] [:error] [pid 4672] 2018-11-16 10:40:42,110 [INFO] pagure.ui.fork: Viewing pull Request #69 repo: puppet
[Fri Nov 16 10:40:42.117993 2018] [:error] [pid 4672] 2018-11-16 10:40:42,117 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: Pulling into a non-empty repo
[Fri Nov 16 10:40:42.256851 2018] [:error] [pid 4672] 2018-11-16 10:40:42,256 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: diff_commits length: 1
[Fri Nov 16 10:40:42.257044 2018] [:error] [pid 4672] 2018-11-16 10:40:42,256 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: original commit: <_pygit2.Commit object at 0x7fa63f5bbd90>
[Fri Nov 16 10:40:42.773776 2018] [:error] [pid 4672] 2018-11-16 10:40:42,771 [INFO] pagure.lib.git: None asked to diff the pull-request: PullRequest(69, project:puppet, user:user.name, title:Change - Manage LDAP properties file)

This seems to be similar to issue #3377, the user name is not getting passed correctly to the merge_pull_request function.

After clicking "merge" the pagure logs show the following errors.

[Mon Nov 19 10:50:17.739480 2018] [:error] [pid 29849] 2018-11-19 10:50:17,739 [INFO] pagure.ui.fork: Viewing pull Request #60 repo: puppet
[Mon Nov 19 10:50:17.739673 2018] [:error] [pid 29849] 2018-11-19 10:50:17,739 [INFO] pagure.ui.fork: Viewing pull Request #60 repo: puppet
[Mon Nov 19 10:50:17.750695 2018] [:error] [pid 29849] 2018-11-19 10:50:17,750 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: Pulling into a non-empty repo
[Mon Nov 19 10:50:17.750795 2018] [:error] [pid 29849] 2018-11-19 10:50:17,750 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: Pulling into a non-empty repo
[Mon Nov 19 10:50:17.924576 2018] [:error] [pid 29849] 2018-11-19 10:50:17,924 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: diff_commits length: 4
[Mon Nov 19 10:50:17.924709 2018] [:error] [pid 29849] 2018-11-19 10:50:17,924 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: diff_commits length: 4
[Mon Nov 19 10:50:17.924848 2018] [:error] [pid 29849] 2018-11-19 10:50:17,924 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: original commit: <_pygit2.Commit object at 0x7fc8168b8170>
[Mon Nov 19 10:50:17.924933 2018] [:error] [pid 29849] 2018-11-19 10:50:17,924 [INFO] pagure.lib.git: pagure.lib.git.get_diff_info: original commit: <_pygit2.Commit object at 0x7fc8168b8170>
[Mon Nov 19 10:50:42.372843 2018] [:error] [pid 32173] 2018-11-19 10:50:42,372 [INFO] pagure.ui.fork: called merge_request_pull for repo: forks/michael.watters/puppet - requestid: 60
[Mon Nov 19 10:50:42.373014 2018] [:error] [pid 32173] 2018-11-19 10:50:42,372 [INFO] pagure.ui.fork: called merge_request_pull for repo: forks/michael.watters/puppet - requestid: 60

After updating git.py to match the latest HEAD I am now receiving errors from the pagure_worker service as follows.

Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: 2018-11-19 12:41:09,238 [ERROR] celery.worker.job: Task pagure.lib.tasks.merge_pull_request[5202d5bb-f58f-4961-8062-ed4ba0c63ae4] raised unexpected: ValueError("failed to write reference 'refs/heads/production': a reference with that name already exists.",)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: Traceback (most recent call last):
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 238, in trace_task
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: R = retval = fun(*args, **kwargs)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 416, in __protected_call__
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: return self.run(*args, **kwargs)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/pagure/lib/tasks.py", line 80, in decorated_function
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: return function(self, session, *args, **kwargs)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/pagure/lib/tasks.py", line 777, in merge_pull_request
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: pagure.lib.git.merge_pull_request(session, request, user_merger)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/pagure/lib/git.py", line 1458, in merge_pull_request
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: request.remote_git, request.branch_from
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib/python2.7/site-packages/pagure/lib/git.py", line 946, in __enter__
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: if not self.repo.is_empty and not self.repo.head_is_unborn:
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: File "/usr/lib64/python2.7/site-packages/pygit2/repository.py", line 1165, in create
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: return self._repository.create_branch(name, commit, force)
Nov 19 12:41:09 mdct-git-c7.dartcontainer.com celery[4549]: ValueError: failed to write reference 'refs/heads/production': a reference with that name already exists.

This also shows as an error in the pagure UI.

Screenshot_from_2018-11-19_12-42-38.png

I believe we fixed most of these issues in the last 5.2 release, could you try it?

Metadata Update from @wattersmt:
- Issue close_status updated to: Insufficient data
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata