Mercurial > kallithea
annotate rhodecode/model/pull_request.py @ 3015:16af24982e30 beta
Multiple changes for compare system
- count number of changed lines and files
- add combined compare button into the old per changeset compare
- fixed some logic for remote & bundle compare system
- added few tests for git compare
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 18 Nov 2012 23:17:02 +0100 |
parents | bf96fd1920c1 |
children | c2a206162062 |
rev | line source |
---|---|
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 """ |
2608
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
3 rhodecode.model.pull_request |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 pull request model for RhodeCode |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 :created_on: Jun 6, 2012 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
9 :author: marcink |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
10 :copyright: (C) 2012-2012 Marcin Kuzminski <marcin@python-works.com> |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11 :license: GPLv3, see COPYING for more details. |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 """ |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 # This program is free software: you can redistribute it and/or modify |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 # it under the terms of the GNU General Public License as published by |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 # the Free Software Foundation, either version 3 of the License, or |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 # (at your option) any later version. |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 # |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 # This program is distributed in the hope that it will be useful, |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 # GNU General Public License for more details. |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 # |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 # You should have received a copy of the GNU General Public License |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 import logging |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
27 import binascii |
2608
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
28 import datetime |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
29 import re |
2597
7b092b919f4f
Switch to waitress wsgi server by default in rhodecode.
Marcin Kuzminski <marcin@python-works.com>
parents:
2584
diff
changeset
|
30 |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31 from pylons.i18n.translation import _ |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 |
2597
7b092b919f4f
Switch to waitress wsgi server by default in rhodecode.
Marcin Kuzminski <marcin@python-works.com>
parents:
2584
diff
changeset
|
33 from rhodecode.model.meta import Session |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
34 from rhodecode.lib import helpers as h |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 from rhodecode.model import BaseModel |
2597
7b092b919f4f
Switch to waitress wsgi server by default in rhodecode.
Marcin Kuzminski <marcin@python-works.com>
parents:
2584
diff
changeset
|
36 from rhodecode.model.db import PullRequest, PullRequestReviewers, Notification |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
37 from rhodecode.model.notification import NotificationModel |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
38 from rhodecode.lib.utils2 import safe_unicode |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
39 |
2801
69420c48a0e6
fixes #550 mercurial repositories comparision failed when origin repo had
Marcin Kuzminski <marcin@python-works.com>
parents:
2799
diff
changeset
|
40 from rhodecode.lib.vcs.utils.hgcompat import discovery, localrepo, scmutil, \ |
69420c48a0e6
fixes #550 mercurial repositories comparision failed when origin repo had
Marcin Kuzminski <marcin@python-works.com>
parents:
2799
diff
changeset
|
41 findcommonoutgoing |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
42 |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
43 log = logging.getLogger(__name__) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
45 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
46 class PullRequestModel(BaseModel): |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
47 |
2522
17893d61792a
Added associated classes into child models
Marcin Kuzminski <marcin@python-works.com>
parents:
2442
diff
changeset
|
48 cls = PullRequest |
17893d61792a
Added associated classes into child models
Marcin Kuzminski <marcin@python-works.com>
parents:
2442
diff
changeset
|
49 |
2608
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
50 def __get_pull_request(self, pull_request): |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
51 return self._get_instance(PullRequest, pull_request) |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
52 |
2440
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
53 def get_all(self, repo): |
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
54 repo = self._get_repo(repo) |
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
55 return PullRequest.query().filter(PullRequest.other_repo == repo).all() |
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
56 |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
57 def create(self, created_by, org_repo, org_ref, other_repo, |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
58 other_ref, revisions, reviewers, title, description=None): |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
59 |
2440
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
60 created_by_user = self._get_user(created_by) |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
61 org_repo = self._get_repo(org_repo) |
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
62 other_repo = self._get_repo(other_repo) |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
63 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
64 new = PullRequest() |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
65 new.org_repo = org_repo |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
66 new.org_ref = org_ref |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
67 new.other_repo = other_repo |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
68 new.other_ref = other_ref |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
69 new.revisions = revisions |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
70 new.title = title |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
71 new.description = description |
2440
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
72 new.author = created_by_user |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
73 self.sa.add(new) |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
74 Session().flush() |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
75 #members |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
76 for member in reviewers: |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
77 _usr = self._get_user(member) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
78 reviewer = PullRequestReviewers(_usr, new) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
79 self.sa.add(reviewer) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
80 |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
81 #notification to reviewers |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
82 notif = NotificationModel() |
2440
1bc579bcd67a
- pull request generates overview based on it's params
Marcin Kuzminski <marcin@python-works.com>
parents:
2434
diff
changeset
|
83 |
2799
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
84 pr_url = h.url('pullrequest_show', repo_name=other_repo.repo_name, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
85 pull_request_id=new.pull_request_id, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
86 qualified=True, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
87 ) |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
88 subject = safe_unicode( |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
89 h.link_to( |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
90 _('%(user)s wants you to review pull request #%(pr_id)s') % \ |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
91 {'user': created_by_user.username, |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
92 'pr_id': new.pull_request_id}, |
2799
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
93 pr_url |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
94 ) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
95 ) |
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
96 body = description |
2799
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
97 kwargs = { |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
98 'pr_title': title, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
99 'pr_user_created': h.person(created_by_user.email), |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
100 'pr_repo_url': h.url('summary_home', repo_name=other_repo.repo_name, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
101 qualified=True,), |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
102 'pr_url': pr_url, |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
103 'pr_revisions': revisions |
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
104 } |
2541
1c2ba03c42b4
Added dynamic data loading for other repo we open pull request against
Marcin Kuzminski <marcin@python-works.com>
parents:
2522
diff
changeset
|
105 notif.create(created_by=created_by_user, subject=subject, body=body, |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
106 recipients=reviewers, |
2799
493646d3146f
Nicer email notifications about pull-request
Marcin Kuzminski <marcin@python-works.com>
parents:
2746
diff
changeset
|
107 type_=Notification.TYPE_PULL_REQUEST, email_kwargs=kwargs) |
2434
f29469677319
Added basic models for saving open pull requests
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
108 return new |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
109 |
2614
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
110 def update_reviewers(self, pull_request, reviewers_ids): |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
111 reviewers_ids = set(reviewers_ids) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
112 pull_request = self.__get_pull_request(pull_request) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
113 current_reviewers = PullRequestReviewers.query()\ |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
114 .filter(PullRequestReviewers.pull_request== |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
115 pull_request)\ |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
116 .all() |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
117 current_reviewers_ids = set([x.user.user_id for x in current_reviewers]) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
118 |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
119 to_add = reviewers_ids.difference(current_reviewers_ids) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
120 to_remove = current_reviewers_ids.difference(reviewers_ids) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
121 |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
122 log.debug("Adding %s reviewers" % to_add) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
123 log.debug("Removing %s reviewers" % to_remove) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
124 |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
125 for uid in to_add: |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
126 _usr = self._get_user(uid) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
127 reviewer = PullRequestReviewers(_usr, pull_request) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
128 self.sa.add(reviewer) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
129 |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
130 for uid in to_remove: |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
131 reviewer = PullRequestReviewers.query()\ |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
132 .filter(PullRequestReviewers.user_id==uid, |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
133 PullRequestReviewers.pull_request==pull_request)\ |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
134 .scalar() |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
135 if reviewer: |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
136 self.sa.delete(reviewer) |
3f50a5e8fc4d
Added editing of pull-request reviewers.
Marcin Kuzminski <marcin@python-works.com>
parents:
2608
diff
changeset
|
137 |
2746
49a4864b11c1
Authors of pull-requests can now delete them
Marcin Kuzminski <marcin@python-works.com>
parents:
2684
diff
changeset
|
138 def delete(self, pull_request): |
49a4864b11c1
Authors of pull-requests can now delete them
Marcin Kuzminski <marcin@python-works.com>
parents:
2684
diff
changeset
|
139 pull_request = self.__get_pull_request(pull_request) |
49a4864b11c1
Authors of pull-requests can now delete them
Marcin Kuzminski <marcin@python-works.com>
parents:
2684
diff
changeset
|
140 Session().delete(pull_request) |
49a4864b11c1
Authors of pull-requests can now delete them
Marcin Kuzminski <marcin@python-works.com>
parents:
2684
diff
changeset
|
141 |
2608
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
142 def close_pull_request(self, pull_request): |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
143 pull_request = self.__get_pull_request(pull_request) |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
144 pull_request.status = PullRequest.STATUS_CLOSED |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
145 pull_request.updated_on = datetime.datetime.now() |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
146 self.sa.add(pull_request) |
58c529332e7e
Added option to close pull requests, in future that will be close & merge
Marcin Kuzminski <marcin@python-works.com>
parents:
2597
diff
changeset
|
147 |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
148 def _get_changesets(self, alias, org_repo, org_ref, other_repo, other_ref, |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
149 discovery_data): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
150 """ |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
151 Returns a list of changesets that are incoming from org_repo@org_ref |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
152 to other_repo@other_ref |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
153 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
154 :param org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
155 :type org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
156 :param org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
157 :type org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
158 :param other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
159 :type other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
160 :param other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
161 :type other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
162 :param tmp: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
163 :type tmp: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
164 """ |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
165 changesets = [] |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
166 #case two independent repos |
2684
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
167 common, incoming, rheads = discovery_data |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
168 if org_repo != other_repo and incoming: |
2801
69420c48a0e6
fixes #550 mercurial repositories comparision failed when origin repo had
Marcin Kuzminski <marcin@python-works.com>
parents:
2799
diff
changeset
|
169 obj = findcommonoutgoing(org_repo._repo, |
2810
4a5c56da2603
fixes #555 issues when comparing non-related repositories on pull requests or compare view
Marcin Kuzminski <marcin@python-works.com>
parents:
2801
diff
changeset
|
170 localrepo.locallegacypeer(other_repo._repo.local()), |
4a5c56da2603
fixes #555 issues when comparing non-related repositories on pull requests or compare view
Marcin Kuzminski <marcin@python-works.com>
parents:
2801
diff
changeset
|
171 force=True) |
2801
69420c48a0e6
fixes #550 mercurial repositories comparision failed when origin repo had
Marcin Kuzminski <marcin@python-works.com>
parents:
2799
diff
changeset
|
172 revs = obj.missing |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
173 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
174 for cs in reversed(map(binascii.hexlify, revs)): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
175 changesets.append(org_repo.get_changeset(cs)) |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
176 else: |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
177 #no remote compare do it on the same repository |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
178 if alias == 'hg': |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
179 _revset_predicates = { |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
180 'branch': 'branch', |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
181 'book': 'bookmark', |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
182 'tag': 'tag', |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
183 'rev': 'id', |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
184 } |
2630
f79320e47e99
Merged pull request #56
Marcin Kuzminski <marcin@python-works.com>
parents:
2614
diff
changeset
|
185 |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
186 revs = [ |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
187 "ancestors(%s('%s')) and not ancestors(%s('%s'))" % ( |
3015
16af24982e30
Multiple changes for compare system
Marcin Kuzminski <marcin@python-works.com>
parents:
3010
diff
changeset
|
188 _revset_predicates[other_ref[0]], other_ref[1], |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
189 _revset_predicates[org_ref[0]], org_ref[1], |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
190 ) |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
191 ] |
2630
f79320e47e99
Merged pull request #56
Marcin Kuzminski <marcin@python-works.com>
parents:
2614
diff
changeset
|
192 |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
193 out = scmutil.revrange(org_repo._repo, revs) |
3015
16af24982e30
Multiple changes for compare system
Marcin Kuzminski <marcin@python-works.com>
parents:
3010
diff
changeset
|
194 for cs in (out): |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
195 changesets.append(org_repo.get_changeset(cs)) |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
196 elif alias == 'git': |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
197 so, se = org_repo.run_git_command( |
3015
16af24982e30
Multiple changes for compare system
Marcin Kuzminski <marcin@python-works.com>
parents:
3010
diff
changeset
|
198 'log --reverse --pretty="format: %%H" -s -p %s..%s' % (org_ref[1], |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
199 other_ref[1]) |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
200 ) |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
201 ids = re.findall(r'[0-9a-fA-F]{40}', so) |
3015
16af24982e30
Multiple changes for compare system
Marcin Kuzminski <marcin@python-works.com>
parents:
3010
diff
changeset
|
202 for cs in (ids): |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
203 changesets.append(org_repo.get_changeset(cs)) |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
204 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
205 return changesets |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
206 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
207 def _get_discovery(self, org_repo, org_ref, other_repo, other_ref): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
208 """ |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
209 Get's mercurial discovery data used to calculate difference between |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
210 repos and refs |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
211 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
212 :param org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
213 :type org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
214 :param org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
215 :type org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
216 :param other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
217 :type other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
218 :param other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
219 :type other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
220 """ |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
221 |
2684
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
222 _org_repo = org_repo._repo |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
223 org_rev_type, org_rev = org_ref |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
224 |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
225 _other_repo = other_repo._repo |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
226 other_rev_type, other_rev = other_ref |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
227 |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
228 log.debug('Doing discovery for %s@%s vs %s@%s' % ( |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
229 org_repo, org_ref, other_repo, other_ref) |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
230 ) |
2810
4a5c56da2603
fixes #555 issues when comparing non-related repositories on pull requests or compare view
Marcin Kuzminski <marcin@python-works.com>
parents:
2801
diff
changeset
|
231 |
2684
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
232 #log.debug('Filter heads are %s[%s]' % ('', org_ref[1])) |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
233 org_peer = localrepo.locallegacypeer(_org_repo.local()) |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
234 tmp = discovery.findcommonincoming( |
2684
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
235 repo=_other_repo, # other_repo we check for incoming |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
236 remote=org_peer, # org_repo source for incoming |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
237 heads=[_other_repo[other_rev].node(), |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
238 _org_repo[org_rev].node()], |
2810
4a5c56da2603
fixes #555 issues when comparing non-related repositories on pull requests or compare view
Marcin Kuzminski <marcin@python-works.com>
parents:
2801
diff
changeset
|
239 force=True |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
240 ) |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
241 return tmp |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
242 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
243 def get_compare_data(self, org_repo, org_ref, other_repo, other_ref): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
244 """ |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
245 Returns a tuple of incomming changesets, and discoverydata cache for |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
246 mercurial repositories |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
247 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
248 :param org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
249 :type org_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
250 :param org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
251 :type org_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
252 :param other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
253 :type other_repo: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
254 :param other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
255 :type other_ref: |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
256 """ |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
257 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
258 if len(org_ref) != 2 or not isinstance(org_ref, (list, tuple)): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
259 raise Exception('org_ref must be a two element list/tuple') |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
260 |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
261 if len(other_ref) != 2 or not isinstance(org_ref, (list, tuple)): |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
262 raise Exception('other_ref must be a two element list/tuple') |
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
263 |
3010
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
264 org_repo_scm = org_repo.scm_instance |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
265 other_repo_scm = other_repo.scm_instance |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
266 |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
267 alias = org_repo.scm_instance.alias |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
268 discovery_data = [None, None, None] |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
269 if alias == 'hg': |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
270 discovery_data = self._get_discovery(org_repo_scm, org_ref, |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
271 other_repo_scm, other_ref) |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
272 cs_ranges = self._get_changesets(alias, |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
273 org_repo_scm, org_ref, |
bf96fd1920c1
Enabled compare engine for tags
Marcin Kuzminski <marcin@python-works.com>
parents:
2810
diff
changeset
|
274 other_repo_scm, other_ref, |
2684
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
275 discovery_data) |
2b6939a77052
Bumped mercurial version to 2.3
Marcin Kuzminski <marcin@python-works.com>
parents:
2630
diff
changeset
|
276 |
2442
3bf057a7f7e8
small refactoring, moved shared for diff generation of code into pull-request model
Marcin Kuzminski <marcin@python-works.com>
parents:
2440
diff
changeset
|
277 return cs_ranges, discovery_data |