; Preferred Licenses to place at the top of the List | ; Preferred Licenses to place at the top of the List | ||||
; Name must match file name in conf/license or custom/conf/license | ; Name must match file name in conf/license or custom/conf/license | ||||
PREFERRED_LICENSES = Apache License 2.0,MIT License | PREFERRED_LICENSES = Apache License 2.0,MIT License | ||||
; Disable ability to interact with repositories by HTTP protocol | |||||
DISABLE_HTTP_GIT= false | |||||
[repository.editor] | [repository.editor] | ||||
; List of file extensions that should have line wraps in the CodeMirror editor | ; List of file extensions that should have line wraps in the CodeMirror editor |
ctx.Data["IsRepositoryWriter"] = ctx.Repo.IsWriter() | ctx.Data["IsRepositoryWriter"] = ctx.Repo.IsWriter() | ||||
ctx.Data["DisableSSH"] = setting.SSH.Disabled | ctx.Data["DisableSSH"] = setting.SSH.Disabled | ||||
ctx.Data["DisableHTTP"] = setting.Repository.DisableHttpGit | |||||
ctx.Data["CloneLink"] = repo.CloneLink() | ctx.Data["CloneLink"] = repo.CloneLink() | ||||
ctx.Data["WikiCloneLink"] = repo.WikiCloneLink() | ctx.Data["WikiCloneLink"] = repo.WikiCloneLink() | ||||
MirrorQueueLength int | MirrorQueueLength int | ||||
PullRequestQueueLength int | PullRequestQueueLength int | ||||
PreferredLicenses []string | PreferredLicenses []string | ||||
DisableHttpGit bool | |||||
// Repository editor settings | // Repository editor settings | ||||
Editor struct { | Editor struct { |
for _, route := range routes { | for _, route := range routes { | ||||
r.URL.Path = strings.ToLower(r.URL.Path) // blue: In case some repo name has upper case name | r.URL.Path = strings.ToLower(r.URL.Path) // blue: In case some repo name has upper case name | ||||
if m := route.reg.FindStringSubmatch(r.URL.Path); m != nil { | if m := route.reg.FindStringSubmatch(r.URL.Path); m != nil { | ||||
if setting.Repository.DisableHttpGit { | |||||
w.WriteHeader(http.StatusForbidden) | |||||
w.Write([]byte("Interacting with repositories by HTTP protocol is not allowed")) | |||||
return | |||||
} | |||||
if route.method != r.Method { | if route.method != r.Method { | ||||
if r.Proto == "HTTP/1.1" { | if r.Proto == "HTTP/1.1" { | ||||
w.WriteHeader(http.StatusMethodNotAllowed) | w.WriteHeader(http.StatusMethodNotAllowed) |
<div class="item"> | <div class="item"> | ||||
<h3>{{.i18n.Tr "repo.clone_this_repo"}} <small>{{.i18n.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository" | Str2html}}</small></h3> | <h3>{{.i18n.Tr "repo.clone_this_repo"}} <small>{{.i18n.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository" | Str2html}}</small></h3> | ||||
<div class="ui action small input"> | <div class="ui action small input"> | ||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{if not $.DisableHTTP}} | |||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{end}} | |||||
{{if not $.DisableSSH}} | {{if not $.DisableSSH}} | ||||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | <button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | ||||
SSH | SSH | ||||
</button> | </button> | ||||
{{end}} | {{end}} | ||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||||
{{if not $.DisableHTTP}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||||
{{else}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly> | |||||
{{end}} | |||||
<button class="ui basic button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | <button class="ui basic button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | ||||
<i class="octicon octicon-clippy"></i> | <i class="octicon octicon-clippy"></i> | ||||
</button> | </button> |
<!-- Only show colne panel in repository home page --> | <!-- Only show colne panel in repository home page --> | ||||
{{if eq $n 0}} | {{if eq $n 0}} | ||||
<div class="ui action small input" id="clone-panel"> | <div class="ui action small input" id="clone-panel"> | ||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{if not $.DisableHTTP}} | |||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{end}} | |||||
{{if not $.DisableSSH}} | {{if not $.DisableSSH}} | ||||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | <button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | ||||
SSH | SSH | ||||
</button> | </button> | ||||
{{end}} | {{end}} | ||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||||
{{if not $.DisableHTTP}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||||
{{else}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly> | |||||
{{end}} | |||||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | ||||
<i class="octicon octicon-clippy"></i> | <i class="octicon octicon-clippy"></i> | ||||
</button> | </button> |
</div> | </div> | ||||
<div class="ui six wide column"> | <div class="ui six wide column"> | ||||
<div class="ui action small input" id="clone-panel"> | <div class="ui action small input" id="clone-panel"> | ||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.WikiCloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{if not $.DisableHTTP}} | |||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||||
</button> | |||||
{{end}} | |||||
{{if not $.DisableSSH}} | {{if not $.DisableSSH}} | ||||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.WikiCloneLink.SSH}}"> | |||||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | |||||
SSH | SSH | ||||
</button> | </button> | ||||
{{end}} | {{end}} | ||||
<input id="repo-clone-url" value="{{$.WikiCloneLink.HTTPS}}" readonly> | |||||
{{if not $.DisableHTTP}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||||
{{else}} | |||||
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly> | |||||
{{end}} | |||||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | ||||
<i class="octicon octicon-clippy"></i> | <i class="octicon octicon-clippy"></i> | ||||
</button> | </button> |