Browse Source

#1206 does not allow fork bare repo

Unknwon 9 years ago
parent
commit
670ade9a61
3 changed files with 12 additions and 1 deletions
  1. 7 0
      routers/repo/pull.go
  2. 3 1
      templates/repo/header.tmpl
  3. 2 0
      templates/repo/header_old.tmpl

+ 7 - 0
routers/repo/pull.go

@@ -33,6 +33,13 @@ func getForkRepository(ctx *middleware.Context) *models.Repository {
 		}
 		return nil
 	}
+
+	// Cannot fork bare repo.
+	if forkRepo.IsBare {
+		ctx.Handle(404, "", nil)
+		return nil
+	}
+
 	ctx.Data["repo_name"] = forkRepo.Name
 	ctx.Data["desc"] = forkRepo.Description
 	ctx.Data["IsPrivate"] = forkRepo.IsPrivate

+ 3 - 1
templates/repo/header.tmpl

@@ -2,13 +2,15 @@
 <div class="ui container"><!-- start container -->
 	<div class="ui vertically padded grid head"><!-- start grid -->
 		<div class="column"><!-- start column -->
+			{{if not .IsBare}}
 			<div class="ui black small compact menu floated right count labelled">
-				<a class="item{{if $.IsRepositoryOwner}} poping up{{end}}"{{if not $.IsRepositoryOwner}} href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
+				<a class="item{{if eq .OwnerID $.SignedUserID}} poping up{{end}}"{{if not (eq .OwnerID $.SignedUserID)}} href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
 					<i class="icon octicon octicon-repo-forked"></i>
 					{{$.i18n.Tr "repo.fork"}}
 				</a>
 				<span class="active item num">{{.NumForks}}</span>
 			</div>
+			{{end}}
 
 			<div class="ui black small compact menu floated right count labelled">
 				<a class="item" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">

+ 2 - 0
templates/repo/header_old.tmpl

@@ -48,6 +48,7 @@
                     </button>
                 </a>
             </li>
+            {{if not .IsBare}}
             <li id="repo-header-fork">
                 <a id="repo-header-fork-btn" {{if or (not $.IsRepositoryAdmin) $.Owner.IsOrganization}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{end}}>
                     <button class="btn btn-gray text-bold btn-radius">
@@ -57,6 +58,7 @@
                 </a>
             
             </li>
+            {{end}}
         </ul>
     </div>
 </div>