@ -300,37 +300,6 @@ func RepoAssignment(args ...bool) macaron.Handler {
ctx . Data [ "BranchName" ] = ctx . Repo . BranchName
ctx . Data [ "CommitID" ] = ctx . Repo . CommitID
if repo . IsFork {
RetrieveBaseRepo ( ctx , repo )
if ctx . Written ( ) {
return
}
}
// People who have push access or have fored repository can propose a new pull request.
if ctx . Repo . IsWriter ( ) || ( ctx . IsSigned && ctx . User . HasForkedRepo ( ctx . Repo . Repository . ID ) ) {
// Pull request is allowed if this is a fork repository
// and base repository accepts pull requests.
if repo . BaseRepo != nil {
if repo . BaseRepo . AllowsPulls ( ) {
ctx . Data [ "BaseRepo" ] = repo . BaseRepo
ctx . Repo . PullRequest . BaseRepo = repo . BaseRepo
ctx . Repo . PullRequest . Allowed = true
ctx . Repo . PullRequest . HeadInfo = ctx . Repo . Owner . Name + ":" + ctx . Repo . BranchName
}
} else {
// Or, this is repository accepts pull requests between branches.
if repo . AllowsPulls ( ) {
ctx . Data [ "BaseRepo" ] = repo
ctx . Repo . PullRequest . BaseRepo = repo
ctx . Repo . PullRequest . Allowed = true
ctx . Repo . PullRequest . SameRepo = true
ctx . Repo . PullRequest . HeadInfo = ctx . Repo . BranchName
}
}
}
ctx . Data [ "PullRequestCtx" ] = ctx . Repo . PullRequest
if ctx . Query ( "go-get" ) == "1" {
ctx . Data [ "GoGetImport" ] = composeGoGetImport ( owner . Name , repo . Name )
prefix := setting . AppUrl + path . Join ( owner . Name , repo . Name , "src" , ctx . Repo . BranchName )
@ -443,6 +412,37 @@ func RepoRef() macaron.Handler {
ctx . Data [ "IsViewTag" ] = ctx . Repo . IsViewTag
ctx . Data [ "IsViewCommit" ] = ctx . Repo . IsViewCommit
if ctx . Repo . Repository . IsFork {
RetrieveBaseRepo ( ctx , ctx . Repo . Repository )
if ctx . Written ( ) {
return
}
}
// People who have push access or have fored repository can propose a new pull request.
if ctx . Repo . IsWriter ( ) || ( ctx . IsSigned && ctx . User . HasForkedRepo ( ctx . Repo . Repository . ID ) ) {
// Pull request is allowed if this is a fork repository
// and base repository accepts pull requests.
if ctx . Repo . Repository . BaseRepo != nil {
if ctx . Repo . Repository . BaseRepo . AllowsPulls ( ) {
ctx . Data [ "BaseRepo" ] = ctx . Repo . Repository . BaseRepo
ctx . Repo . PullRequest . BaseRepo = ctx . Repo . Repository . BaseRepo
ctx . Repo . PullRequest . Allowed = true
ctx . Repo . PullRequest . HeadInfo = ctx . Repo . Owner . Name + ":" + ctx . Repo . BranchName
}
} else {
// Or, this is repository accepts pull requests between branches.
if ctx . Repo . Repository . AllowsPulls ( ) {
ctx . Data [ "BaseRepo" ] = ctx . Repo . Repository
ctx . Repo . PullRequest . BaseRepo = ctx . Repo . Repository
ctx . Repo . PullRequest . Allowed = true
ctx . Repo . PullRequest . SameRepo = true
ctx . Repo . PullRequest . HeadInfo = ctx . Repo . BranchName
}
}
}
ctx . Data [ "PullRequestCtx" ] = ctx . Repo . PullRequest
ctx . Repo . CommitsCount , err = ctx . Repo . Commit . CommitsCount ( )
if err != nil {
ctx . Handle ( 500 , "CommitsCount" , err )