This commit is contained in:
Unknown 2014-04-08 12:41:33 -04:00
parent 22feddf804
commit 115a349131
9 changed files with 30 additions and 14 deletions

View file

@ -29,7 +29,7 @@ More importantly, Gogs only needs one binary to setup your own project hosting o
## Features ## Features
- Activity timeline - Activity timeline
- SSH/HTTPS(Clone only) protocol support. - SSH/HTTP(S) protocol support.
- Register/delete/rename account. - Register/delete/rename account.
- Create/delete/watch/rename/transfer public repository. - Create/delete/watch/rename/transfer public repository.
- Repository viewer. - Repository viewer.

View file

@ -23,7 +23,7 @@ Gogs 完全使用 Go 语言来实现对 Git 数据的操作,实现 **零** 依
## 功能特性 ## 功能特性
- 活动时间线 - 活动时间线
- SSH/HTTPS仅限 Clone 协议支持 - SSH/HTTP(S) 协议支持
- 注册/删除/重命名用户 - 注册/删除/重命名用户
- 创建/删除/关注/重命名/转移公开仓库 - 创建/删除/关注/重命名/转移公开仓库
- 仓库浏览器 - 仓库浏览器

View file

@ -19,7 +19,7 @@ import (
// Test that go1.2 tag above is included in builds. main.go refers to this definition. // Test that go1.2 tag above is included in builds. main.go refers to this definition.
const go12tag = true const go12tag = true
const APP_VER = "0.2.2.0407 Alpha" const APP_VER = "0.2.2.0408 Alpha"
func init() { func init() {
base.AppVer = APP_VER base.AppVer = APP_VER

View file

@ -261,6 +261,13 @@ func createHookUpdate(hookPath, content string) error {
return err return err
} }
// SetRepoEnvs sets environment variables for command update.
func SetRepoEnvs(userId int64, userName, repoName string) {
os.Setenv("userId", base.ToStr(userId))
os.Setenv("userName", userName)
os.Setenv("repoName", repoName)
}
// InitRepository initializes README and .gitignore if needed. // InitRepository initializes README and .gitignore if needed.
func initRepository(f string, user *User, repo *Repository, initReadme bool, repoLang, license string) error { func initRepository(f string, user *User, repo *Repository, initReadme bool, repoLang, license string) error {
repoPath := RepoPath(user.Name, repo.Name) repoPath := RepoPath(user.Name, repo.Name)
@ -333,10 +340,7 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
return nil return nil
} }
// for update use SetRepoEnvs(user.Id, user.Name, repo.Name)
os.Setenv("userName", user.Name)
os.Setenv("userId", base.ToStr(user.Id))
os.Setenv("repoName", repo.Name)
// Apply changes and commit. // Apply changes and commit.
return initRepoCommit(tmpDir, user.NewGitSig()) return initRepoCommit(tmpDir, user.NewGitSig())

View file

@ -43,6 +43,7 @@ var (
AppName string AppName string
AppLogo string AppLogo string
AppUrl string AppUrl string
IsProdMode bool
Domain string Domain string
SecretKey string SecretKey string
RunUser string RunUser string

View file

@ -56,6 +56,9 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
"AppDomain": func() string { "AppDomain": func() string {
return Domain return Domain
}, },
"IsProdMode": func() bool {
return IsProdMode
},
"LoadTimes": func(startTime time.Time) string { "LoadTimes": func(startTime time.Time) string {
return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms" return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms"
}, },

View file

@ -27,6 +27,7 @@ func checkRunMode() {
switch base.Cfg.MustValue("", "RUN_MODE") { switch base.Cfg.MustValue("", "RUN_MODE") {
case "prod": case "prod":
martini.Env = martini.Prod martini.Env = martini.Prod
base.IsProdMode = true
case "test": case "test":
martini.Env = martini.Test martini.Env = martini.Test
} }

View file

@ -177,10 +177,7 @@ func runServ(k *cli.Context) {
qlog.Fatal("Unknown command") qlog.Fatal("Unknown command")
} }
// for update use models.SetRepoEnvs(user.Id, user.Name, repoName)
os.Setenv("userName", user.Name)
os.Setenv("userId", strconv.Itoa(int(user.Id)))
os.Setenv("repoName", repoName)
gitcmd := exec.Command(verb, repoPath) gitcmd := exec.Command(verb, repoPath)
gitcmd.Dir = base.RepoRootPath gitcmd.Dir = base.RepoRootPath

View file

@ -11,14 +11,24 @@
<meta name="_csrf" content="{{.CsrfToken}}" /> <meta name="_csrf" content="{{.CsrfToken}}" />
<!-- Stylesheets --> <!-- Stylesheets -->
{{if IsProdMode}}
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
{{else}}
<link href="/css/bootstrap.min.css" rel="stylesheet" /> <link href="/css/bootstrap.min.css" rel="stylesheet" />
<link href="/css/todc-bootstrap.min.css" rel="stylesheet" />
<link href="/css/font-awesome.min.css" rel="stylesheet" /> <link href="/css/font-awesome.min.css" rel="stylesheet" />
<link href="/css/markdown.css" rel="stylesheet" />
<link href="/css/gogs.css" rel="stylesheet" />
<script src="/js/jquery-1.10.1.min.js"></script> <script src="/js/jquery-1.10.1.min.js"></script>
<script src="/js/bootstrap.min.js"></script> <script src="/js/bootstrap.min.js"></script>
{{end}}
<link href="/css/todc-bootstrap.min.css" rel="stylesheet" />
<link href="/css/markdown.css" rel="stylesheet" />
<link href="/css/gogs.css" rel="stylesheet" />
<script src="/js/lib.js"></script> <script src="/js/lib.js"></script>
<script src="/js/app.js"></script> <script src="/js/app.js"></script>
<title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title> <title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>