aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel <manuel.kroeber@gmail.com>2017-08-26 15:57:41 +0200
committerThomas Boerger <thomas@webhippie.de>2017-08-26 15:57:41 +0200
commitd9d8fad23054fd6d0e45da5929c7dc6aa13a39d4 (patch)
treea9f29e3b71a421bab0b61f20b76ac7d5338b317b
parentf61a1d210c4ed6f616b4bee25e8231b5bc67a640 (diff)
downloadgitea-d9d8fad23054fd6d0e45da5929c7dc6aa13a39d4.tar.gz
gitea-d9d8fad23054fd6d0e45da5929c7dc6aa13a39d4.zip
Add UseCompatSSHURI setting (#2356)
* Add UseCompatSSHURI setting Signed-off-by: Manuel Kroeber <manuel.kroeber@gmail.com> (+1 squashed commits) Squashed commits: [dda2dc79] Add ForceCloneSSHURL setting Signed-off-by: Manuel Kroeber <manuel.kroeber@gmail.com> * Make protocol if construct more readable Signed-off-by: Manuel Kroeber <manuel.kroeber@gmail.com>
-rw-r--r--conf/app.ini2
-rw-r--r--models/repo.go3
-rw-r--r--modules/setting/setting.go3
3 files changed, 8 insertions, 0 deletions
diff --git a/conf/app.ini b/conf/app.ini
index e704067b36..3333434230 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -23,6 +23,8 @@ PULL_REQUEST_QUEUE_LENGTH = 1000
PREFERRED_LICENSES = Apache License 2.0,MIT License
; Disable ability to interact with repositories by HTTP protocol
DISABLE_HTTP_GIT = false
+; Force ssh:// clone url instead of scp-style uri when default SSH port is used
+USE_COMPAT_SSH_URI = false
[repository.editor]
; List of file extensions that should have line wraps in the CodeMirror editor
diff --git a/models/repo.go b/models/repo.go
index 60c89836c0..47deba2da7 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -791,6 +792,8 @@ func (repo *Repository) cloneLink(isWiki bool) *CloneLink {
cl := new(CloneLink)
if setting.SSH.Port != 22 {
cl.SSH = fmt.Sprintf("ssh://%s@%s:%d/%s/%s.git", setting.RunUser, setting.SSH.Domain, setting.SSH.Port, repo.Owner.Name, repoName)
+ } else if setting.Repository.UseCompatSSHURI {
+ cl.SSH = fmt.Sprintf("ssh://%s@%s/%s/%s.git", setting.RunUser, setting.SSH.Domain, repo.Owner.Name, repoName)
} else {
cl.SSH = fmt.Sprintf("%s@%s:%s/%s.git", setting.RunUser, setting.SSH.Domain, repo.Owner.Name, repoName)
}
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 8cd9fa6086..c25c2e0c65 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -161,6 +161,7 @@ var (
PullRequestQueueLength int
PreferredLicenses []string
DisableHTTPGit bool
+ UseCompatSSHURI bool
// Repository editor settings
Editor struct {
@@ -189,6 +190,7 @@ var (
PullRequestQueueLength: 1000,
PreferredLicenses: []string{"Apache License 2.0,MIT License"},
DisableHTTPGit: false,
+ UseCompatSSHURI: false,
// Repository editor settings
Editor: struct {
@@ -903,6 +905,7 @@ func NewContext() {
// Determine and create root git repository path.
sec = Cfg.Section("repository")
Repository.DisableHTTPGit = sec.Key("DISABLE_HTTP_GIT").MustBool()
+ Repository.UseCompatSSHURI = sec.Key("USE_COMPAT_SSH_URI").MustBool()
Repository.MaxCreationLimit = sec.Key("MAX_CREATION_LIMIT").MustInt(-1)
RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gitea-repositories"))
forcePathSeparator(RepoRootPath)