@@ -1,5 +1,5 @@ | |||||
APP_NAME = Gogs - Go Git Service | APP_NAME = Gogs - Go Git Service | ||||
RUN_USER = git | |||||
RUN_USER = lunny | |||||
[repository] | [repository] | ||||
ROOT = /Users/lunny/git/gogs-repositories | ROOT = /Users/lunny/git/gogs-repositories | ||||
@@ -7,9 +7,11 @@ package main | |||||
import ( | import ( | ||||
"os" | "os" | ||||
"os/user" | |||||
"runtime" | "runtime" | ||||
"github.com/codegangsta/cli" | "github.com/codegangsta/cli" | ||||
"github.com/gogits/gogs/utils" | |||||
) | ) | ||||
// +build go1.1 | // +build go1.1 | ||||
@@ -17,13 +19,27 @@ import ( | |||||
// Test that go1.1 tag above is included in builds. main.go refers to this definition. | // Test that go1.1 tag above is included in builds. main.go refers to this definition. | ||||
const go11tag = true | const go11tag = true | ||||
const APP_VER = "0.0.0.0220" | |||||
const APP_VER = "0.0.0.0225" | |||||
func init() { | func init() { | ||||
runtime.GOMAXPROCS(runtime.NumCPU()) | runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
} | } | ||||
func checkRunUser() bool { | |||||
user, err := user.Current() | |||||
if err != nil { | |||||
// TODO: log | |||||
return false | |||||
} | |||||
return user.Username == utils.Cfg.MustValue("", "RUN_USER") | |||||
} | |||||
func main() { | func main() { | ||||
/*if !checkRunUser() { | |||||
println("The command should be run as", utils.Cfg.MustValue("", "RUN_USER")) | |||||
return | |||||
}*/ | |||||
app := cli.NewApp() | app := cli.NewApp() | ||||
app.Name = "Gogs" | app.Name = "Gogs" | ||||
app.Usage = "Go Git Service" | app.Usage = "Go Git Service" | ||||
@@ -4,15 +4,16 @@ import ( | |||||
"fmt" | "fmt" | ||||
"os" | "os" | ||||
"os/exec" | "os/exec" | ||||
"os/user" | |||||
"path/filepath" | "path/filepath" | ||||
"time" | "time" | ||||
) | ) | ||||
var ( | var ( | ||||
publicKeyRootPath string | |||||
sshPath string = "/Users/lunny/.ssh" | |||||
appPath string | |||||
tmplPublicKey = "### autogenerated by gitgos, DO NOT EDIT\n" + | |||||
//publicKeyRootPath string | |||||
sshPath string | |||||
appPath string | |||||
tmplPublicKey = "### autogenerated by gitgos, DO NOT EDIT\n" + | |||||
"command=\"%s serv key-%d\",no-port-forwarding," + | "command=\"%s serv key-%d\",no-port-forwarding," + | ||||
"no-X11-forwarding,no-agent-forwarding,no-pty %s\n" | "no-X11-forwarding,no-agent-forwarding,no-pty %s\n" | ||||
) | ) | ||||
@@ -25,6 +26,14 @@ func exePath() (string, error) { | |||||
return filepath.Abs(file) | return filepath.Abs(file) | ||||
} | } | ||||
func homeDir() string { | |||||
user, err := user.Current() | |||||
if err != nil { | |||||
return "/" | |||||
} | |||||
return user.HomeDir | |||||
} | |||||
func init() { | func init() { | ||||
var err error | var err error | ||||
appPath, err = exePath() | appPath, err = exePath() | ||||
@@ -32,6 +41,8 @@ func init() { | |||||
println(err.Error()) | println(err.Error()) | ||||
os.Exit(2) | os.Exit(2) | ||||
} | } | ||||
sshPath = filepath.Join(homeDir(), ".ssh") | |||||
} | } | ||||
type PublicKey struct { | type PublicKey struct { | ||||
@@ -66,7 +66,7 @@ const ( | |||||
OP_PULL_REQUEST | OP_PULL_REQUEST | ||||
) | ) | ||||
// A Action represents | |||||
// An Action represents | |||||
type Action struct { | type Action struct { | ||||
Id int64 | Id int64 | ||||
UserId int64 | UserId int64 | ||||