mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	@@ -423,13 +423,18 @@ func createUpdateHook(repoPath string) error {
 | 
			
		||||
 | 
			
		||||
// InitRepository initializes README and .gitignore if needed.
 | 
			
		||||
func initRepository(e Engine, repoPath string, u *User, repo *Repository, initReadme bool, repoLang, license string) error {
 | 
			
		||||
	// Somehow the directory could exist.
 | 
			
		||||
	if com.IsExist(repoPath) {
 | 
			
		||||
		return fmt.Errorf("initRepository: path already exists: %s", repoPath)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Init bare new repository.
 | 
			
		||||
	os.MkdirAll(repoPath, os.ModePerm)
 | 
			
		||||
	_, stderr, err := process.ExecDir(-1, repoPath,
 | 
			
		||||
		fmt.Sprintf("initRepository(git init --bare): %s", repoPath),
 | 
			
		||||
		"git", "init", "--bare")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return errors.New("git init --bare: " + stderr)
 | 
			
		||||
		return fmt.Errorf("git init --bare: %s", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := createUpdateHook(repoPath); err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ func (repo *Repository) GetTags() ([]string, error) {
 | 
			
		||||
	}
 | 
			
		||||
	stdout, stderr, err := com.ExecCmdDir(repo.Path, "git", "tag", "-l")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errors.New(stderr)
 | 
			
		||||
		return nil, concatenateError(err, stderr)
 | 
			
		||||
	}
 | 
			
		||||
	tags := strings.Split(stdout, "\n")
 | 
			
		||||
	return tags[:len(tags)-1], nil
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ package git
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"container/list"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
@@ -67,3 +68,10 @@ func isFile(filePath string) bool {
 | 
			
		||||
	}
 | 
			
		||||
	return !f.IsDir()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func concatenateError(err error, stderr string) error {
 | 
			
		||||
	if len(stderr) == 0 {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return fmt.Errorf("%v: %s", err, stderr)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -47,6 +47,12 @@ func OrgAssignment(redirect bool, args ...bool) macaron.Handler {
 | 
			
		||||
		org := ctx.Org.Organization
 | 
			
		||||
		ctx.Data["Org"] = org
 | 
			
		||||
 | 
			
		||||
		// Force redirection when username is actually a user.
 | 
			
		||||
		if !org.IsOrganization() {
 | 
			
		||||
			ctx.Redirect("/" + org.Name)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ctx.IsSigned {
 | 
			
		||||
			ctx.Org.IsOwner = org.IsOwnedBy(ctx.User.Id)
 | 
			
		||||
			if ctx.Org.IsOwner {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user