diff --git a/rhodecode/controllers/pullrequests.py b/rhodecode/controllers/pullrequests.py
--- a/rhodecode/controllers/pullrequests.py
+++ b/rhodecode/controllers/pullrequests.py
@@ -81,6 +81,19 @@ class PullrequestsController(BaseRepoCon
return hist_l
+ def _get_default_rev(self, repo):
+ """
+ Get's default revision to do compare on pull request
+
+ :param repo:
+ """
+ repo = repo.scm_instance
+ if 'default' in repo.branches:
+ return 'default'
+ else:
+ #if repo doesn't have default branch return first found
+ return repo.branches.keys()[0]
+
def show_all(self, repo_name):
c.pull_requests = PullRequestModel().get_all(repo_name)
c.repo_name = repo_name
@@ -106,7 +119,8 @@ class PullrequestsController(BaseRepoCon
# add org repo to other so we can open pull request agains itself
c.other_repos.extend(c.org_repos)
- c.default_pull_request = org_repo.repo_name
+ c.default_pull_request = org_repo.repo_name # repo name pre-selected
+ c.default_pull_request_rev = self._get_default_rev(org_repo) # revision pre-selected
c.default_revs = self._get_repo_refs(org_repo.scm_instance)
#add orginal repo
other_repos_info[org_repo.repo_name] = {
@@ -130,6 +144,8 @@ class PullrequestsController(BaseRepoCon
#add parents of this fork also
if org_repo.parent:
c.default_pull_request = org_repo.parent.repo_name
+ c.default_pull_request_rev = self._get_default_rev(org_repo.parent)
+ c.default_revs = self._get_repo_refs(org_repo.parent.scm_instance)
c.other_repos.append((org_repo.parent.repo_name, '%s/%s' % (
org_repo.parent.user.username,
org_repo.parent.repo_name))
diff --git a/rhodecode/public/js/rhodecode.js b/rhodecode/public/js/rhodecode.js
--- a/rhodecode/public/js/rhodecode.js
+++ b/rhodecode/public/js/rhodecode.js
@@ -86,7 +86,18 @@ var prevElementSibling = function( el )
}
}
-
+var setSelectValue = function(select, val){
+ var selection = YUD.get(select);
+
+ // select element
+ for(var i=0;i