Browse Source

Merge branch 'dev' of github.com:gogits/gogs into dev

Unknwon 10 years ago
parent
commit
e1c5008238

+ 1 - 1
docker/blocks/docker_gogs/Dockerfile

@@ -46,7 +46,7 @@ ENV HOME /home/git
 ENV USER git
 ENV PATH $GOGS_PATH:$PATH
 
-RUN git config --global user.name "GoGS"
+RUN git config --global user.name "GoGS" && git config --global user.email "gogitservice@gmail.com"
 
 ENTRYPOINT ["/tmp/init_gogs.sh"]
 CMD ["gogs", "web"]

+ 1 - 1
docker/blocks/docker_gogs_dev/Dockerfile

@@ -47,7 +47,7 @@ ENV HOME /home/git
 ENV USER git
 ENV PATH $GOGS_PATH:$PATH
 
-RUN git config --global user.name "GoGS"
+RUN git config --global user.name "GoGS" && git config --global user.email "gogitservice@gmail.com"
 
 ENTRYPOINT ["/tmp/init_gogs.sh"]
 CMD ["gogs", "web"]

+ 2 - 2
models/issue.go

@@ -472,8 +472,8 @@ func UpdateIssueUserPairByAssignee(aid, iid int64) error {
 	if aid == 0 {
 		return nil
 	}
-	rawSql = "UPDATE `issue_user` SET is_assigned = true WHERE uid = ? AND issue_id = ?"
-	_, err := x.Exec(rawSql, aid, iid)
+	rawSql = "UPDATE `issue_user` SET is_assigned = ? WHERE uid = ? AND issue_id = ?"
+	_, err := x.Exec(rawSql, true, aid, iid)
 	return err
 }
 

+ 11 - 14
models/repo.go

@@ -105,21 +105,18 @@ func NewRepoContext() {
 		log.Fatal(4, "Gogs requires Git version greater or equal to 1.7.1")
 	}
 
-	// Check if server has basic git setting and set if not.
-	if stdout, stderr, err := process.Exec("NewRepoContext(get setting)", "git", "config", "--get", "user.name"); err != nil || strings.TrimSpace(stdout) == "" {
-		// ExitError indicates user.name is not set
-		if _, ok := err.(*exec.ExitError); ok || strings.TrimSpace(stdout) == "" {
-			stndrdUserName := "Gogs"
-			stndrdUserEmail := "gogitservice@gmail.com"
-			if _, stderr, gerr := process.Exec("NewRepoContext(set name)", "git", "config", "--global", "user.name", stndrdUserName); gerr != nil {
-				log.Fatal(4, "Fail to set git user.name(%s): %s", gerr, stderr)
-			}
-			if _, stderr, gerr := process.Exec("NewRepoContext(set email)", "git", "config", "--global", "user.email", stndrdUserEmail); gerr != nil {
-				log.Fatal(4, "Fail to set git user.email(%s): %s", gerr, stderr)
+	// Check if server has user.email and user.name set correctly and set if they're not.
+	for configKey, defaultValue := range map[string]string{"user.name": "Gogs", "user.email": "gogitservice@gmail.com"} {
+		if stdout, stderr, err := process.Exec("NewRepoContext(get setting)", "git", "config", "--get", configKey); err != nil || strings.TrimSpace(stdout) == "" {
+			// ExitError indicates this config is not set
+			if _, ok := err.(*exec.ExitError); ok || strings.TrimSpace(stdout) == "" {
+				if _, stderr, gerr := process.Exec("NewRepoContext(set "+configKey+")", "git", "config", "--global", configKey, defaultValue); gerr != nil {
+					log.Fatal(4, "Fail to set git %s(%s): %s", configKey, gerr, stderr)
+				}
+				log.Info("Git config %s set to %s", configKey, defaultValue)
+			} else {
+				log.Fatal(4, "Fail to get git %s(%s): %s", configKey, err, stderr)
 			}
-			log.Info("Git user.name and user.email set to %s <%s>", stndrdUserName, stndrdUserEmail)
-		} else {
-			log.Fatal(4, "Fail to get git user.name(%s): %s", err, stderr)
 		}
 	}
 

+ 2 - 1
routers/repo/setting.go

@@ -10,6 +10,7 @@ import (
 	"fmt"
 	"strings"
 	"time"
+	"path"
 
 	"github.com/Unknwon/com"
 
@@ -169,7 +170,7 @@ func SettingsCollaboration(ctx *middleware.Context) {
 	ctx.Data["Title"] = ctx.Tr("repo.settings")
 	ctx.Data["PageIsSettingsCollaboration"] = true
 
-	repoLink := strings.TrimPrefix(ctx.Repo.RepoLink, "/")
+	repoLink := path.Join(ctx.Repo.Owner.LowerName, ctx.Repo.Repository.LowerName)
 
 	if ctx.Req.Method == "POST" {
 		name := strings.ToLower(ctx.Query("collaborator"))

+ 23 - 19
scripts/build.sh

@@ -1,21 +1,25 @@
-rm -rf output
-mkdir output
+outPath=./output
+
+rm -rf $outPath
+mkdir $outPath
+
 go build ../gogs.go
 chmod +x gogs
-mv gogs ./output/
-cp -r ../conf/ ./output/conf/
-cp -r ../custom/ ./output/custom/
-cp -r ./dockerfiles/ ./output/dockerfiles/
-cp -r ../public/ ./output/public/
-cp -r ../templates/ ./output/templates/
-cp ../cert.pem ./output/
-cp ../CONTRIBUTING.md ./output/
-cp gogs_supervisord.sh ./output/
-cp ../key.pem ./output/
-cp ../LICENSE ./output/
-cp ../README.md ./output/
-cp ../README_ZH.md ./output/
-cp start.bat ./output/
-cp start.sh ./output/
-cp ../wercker.yml ./output/
-cp mysql.sql ./output/
+mv gogs $outPath/
+
+cp -r ../conf/ $outPath/conf/
+cp -r ../custom/ $outPath/custom/
+cp -r dockerfiles/ $outPath/dockerfiles/
+cp -r ../public/ $outPath/public/
+cp -r ../templates/ $outPath/templates/
+cp ../cert.pem $outPath/
+cp ../CONTRIBUTING.md $outPath/
+cp gogs_supervisord.sh $outPath/
+cp ../key.pem $outPath/
+cp ../LICENSE $outPath/
+cp ../README.md $outPath/
+cp ../README_ZH.md $outPath/
+cp start.bat $outPath/
+cp start.sh $outPath/
+cp ../wercker.yml $outPath/
+cp mysql.sql $outPath/

+ 27 - 0
scripts/build_freebsd.sh

@@ -0,0 +1,27 @@
+outPlattform=freebsd
+outArch=amd64
+outPath=./output_$outPlattform_$outArch
+
+rm -rf $outPath
+mkdir $outPath
+
+CGO_ENABLED=0 GOOS=$outPlattform GOARCH=$outArch go build ../gogs.go
+chmod +x gogs
+mv gogs $outPath/
+
+cp -r ../conf/ $outPath/conf/
+cp -r ../custom/ $outPath/custom/
+cp -r dockerfiles/ $outPath/dockerfiles/
+cp -r ../public/ $outPath/public/
+cp -r ../templates/ $outPath/templates/
+cp ../cert.pem $outPath/
+cp ../CONTRIBUTING.md $outPath/
+cp gogs_supervisord.sh $outPath/
+cp ../key.pem $outPath/
+cp ../LICENSE $outPath/
+cp ../README.md $outPath/
+cp ../README_ZH.md $outPath/
+cp start.bat $outPath/
+cp start.sh $outPath/
+cp ../wercker.yml $outPath/
+cp mysql.sql $outPath/

+ 26 - 20
scripts/build_linux64.sh

@@ -1,21 +1,27 @@
-rm -rf output_linux_64
-mkdir output_linux_64
-CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ../gogs.go
+outPlattform=linux
+outArch=amd64
+outPath=./output_$outPlattform_$outArch
+
+rm -rf $outPath
+mkdir $outPath
+
+CGO_ENABLED=0 GOOS=$outPlattform GOARCH=$outArch go build ../gogs.go
 chmod +x gogs
-mv gogs ./output_linux_64/
-cp -r ../conf/ ./output_linux_64/conf/
-cp -r ../custom/ ./output_linux_64/custom/
-cp -r dockerfiles/ ./output_linux_64/dockerfiles/
-cp -r ../public/ ./output_linux_64/public/
-cp -r ../templates/ ./output_linux_64/templates/
-cp ../cert.pem ./output_linux_64/
-cp ../CONTRIBUTING.md ./output_linux_64/
-cp gogs_supervisord.sh ./output_linux_64/
-cp ../key.pem ./output_linux_64/
-cp ../LICENSE ./output_linux_64/
-cp ../README.md ./output_linux_64/
-cp ../README_ZH.md ./output_linux_64/
-cp start.bat ./output_linux_64/
-cp start.sh ./output_linux_64/
-cp ../wercker.yml ./output_linux_64/
-cp mysql.sql ./output_linux_64/
+mv gogs $outPath/
+
+cp -r ../conf/ $outPath/conf/
+cp -r ../custom/ $outPath/custom/
+cp -r dockerfiles/ $outPath/dockerfiles/
+cp -r ../public/ $outPath/public/
+cp -r ../templates/ $outPath/templates/
+cp ../cert.pem $outPath/
+cp ../CONTRIBUTING.md $outPath/
+cp gogs_supervisord.sh $outPath/
+cp ../key.pem $outPath/
+cp ../LICENSE $outPath/
+cp ../README.md $outPath/
+cp ../README_ZH.md $outPath/
+cp start.bat $outPath/
+cp start.sh $outPath/
+cp ../wercker.yml $outPath/
+cp mysql.sql $outPath/