Merge pull request !2785 from rhodecode-enterprise-ce fix/ssh-port-default
fix: specify default ssh port for clone urls
This commit is contained in:
commit
b1f8c0f10a
3 changed files with 30 additions and 1 deletions
|
|
@ -23,6 +23,8 @@ Some simple helper functions
|
|||
|
||||
import collections
|
||||
import datetime
|
||||
import os
|
||||
|
||||
import dateutil.relativedelta
|
||||
import logging
|
||||
import re
|
||||
|
|
@ -498,6 +500,10 @@ def get_clone_url(request, uri_tmpl, repo_name, repo_id, repo_type, **override):
|
|||
parsed_url = urlobject.URLObject(qualified_home_url)
|
||||
decoded_path = safe_str(urllib.parse.unquote(parsed_url.path.rstrip("/")))
|
||||
|
||||
default_ssh_port = ""
|
||||
if os.environ.get("RC_SSH_PORT"):
|
||||
default_ssh_port = f":{os.environ['RC_SSH_PORT']}"
|
||||
|
||||
args = {
|
||||
"scheme": parsed_url.scheme,
|
||||
"user": "",
|
||||
|
|
@ -508,6 +514,7 @@ def get_clone_url(request, uri_tmpl, repo_name, repo_id, repo_type, **override):
|
|||
"prefix": decoded_path,
|
||||
"repo": repo_name,
|
||||
"repoid": str(repo_id),
|
||||
"ssh_port": default_ssh_port,
|
||||
"repo_type": repo_type,
|
||||
}
|
||||
args.update(override)
|
||||
|
|
|
|||
|
|
@ -1915,7 +1915,7 @@ class Repository(Base, BaseModel):
|
|||
)
|
||||
DEFAULT_CLONE_URI = "{scheme}://{user}@{netloc}/{repo}"
|
||||
DEFAULT_CLONE_URI_ID = "{scheme}://{user}@{netloc}/_{repoid}"
|
||||
DEFAULT_CLONE_URI_SSH = "ssh://{sys_user}@{hostname}/{repo}"
|
||||
DEFAULT_CLONE_URI_SSH = "ssh://{sys_user}@{hostname}{ssh_port}/{repo}"
|
||||
|
||||
STATE_CREATED = "repo_state_created"
|
||||
STATE_PENDING = "repo_state_pending"
|
||||
|
|
|
|||
|
|
@ -579,6 +579,28 @@ def test_clone_url_svn_ssh_generator():
|
|||
assert clone_url == "svn+ssh://rcdev@vps1/svn-test"
|
||||
|
||||
|
||||
def test_clone_url_svn_ssh_with_port_generator():
|
||||
from rhodecode.lib.utils2 import get_clone_url
|
||||
|
||||
class RequestStub(object):
|
||||
def request_url(self, name):
|
||||
return "http://vps1:8000"
|
||||
|
||||
def route_url(self, name):
|
||||
return self.request_url(name)
|
||||
|
||||
clone_url = get_clone_url(
|
||||
request=RequestStub(),
|
||||
uri_tmpl=Repository.DEFAULT_CLONE_URI_SSH,
|
||||
repo_name="svn-test",
|
||||
repo_id=23,
|
||||
repo_type="svn",
|
||||
ssh_port=":9022",
|
||||
**{"sys_user": "rcdev"},
|
||||
)
|
||||
assert clone_url == "svn+ssh://rcdev@vps1:9022/svn-test"
|
||||
|
||||
|
||||
idx = 0
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue