summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-02-25 18:58:55 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-02-25 18:58:55 +0800
commit9c3a8ff2994a34ff28484650aa400a0b167855f3 (patch)
treee96ca450d6e1f566c054d2dd6db2dd268d709243
parent52984f85d5afc2a74bb3ca04487da7fb277437d6 (diff)
downloadgitea-9c3a8ff2994a34ff28484650aa400a0b167855f3.tar.gz
gitea-9c3a8ff2994a34ff28484650aa400a0b167855f3.zip
add run user
-rw-r--r--conf/app.ini2
-rw-r--r--gogs.go18
-rw-r--r--models/publickey.go19
-rw-r--r--models/user.go2
4 files changed, 34 insertions, 7 deletions
diff --git a/conf/app.ini b/conf/app.ini
index 517660addd..7a8970cb4a 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -1,5 +1,5 @@
APP_NAME = Gogs - Go Git Service
-RUN_USER = git
+RUN_USER = lunny
[repository]
ROOT = /Users/lunny/git/gogs-repositories
diff --git a/gogs.go b/gogs.go
index bf2586d886..c9c920ddcc 100644
--- a/gogs.go
+++ b/gogs.go
@@ -7,9 +7,11 @@ package main
import (
"os"
+ "os/user"
"runtime"
"github.com/codegangsta/cli"
+ "github.com/gogits/gogs/utils"
)
// +build go1.1
@@ -17,13 +19,27 @@ import (
// Test that go1.1 tag above is included in builds. main.go refers to this definition.
const go11tag = true
-const APP_VER = "0.0.0.0220"
+const APP_VER = "0.0.0.0225"
func init() {
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() {
+ /*if !checkRunUser() {
+ println("The command should be run as", utils.Cfg.MustValue("", "RUN_USER"))
+ return
+ }*/
+
app := cli.NewApp()
app.Name = "Gogs"
app.Usage = "Go Git Service"
diff --git a/models/publickey.go b/models/publickey.go
index 2fd1895d6c..86dd50e849 100644
--- a/models/publickey.go
+++ b/models/publickey.go
@@ -4,15 +4,16 @@ import (
"fmt"
"os"
"os/exec"
+ "os/user"
"path/filepath"
"time"
)
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," +
"no-X11-forwarding,no-agent-forwarding,no-pty %s\n"
)
@@ -25,6 +26,14 @@ func exePath() (string, error) {
return filepath.Abs(file)
}
+func homeDir() string {
+ user, err := user.Current()
+ if err != nil {
+ return "/"
+ }
+ return user.HomeDir
+}
+
func init() {
var err error
appPath, err = exePath()
@@ -32,6 +41,8 @@ func init() {
println(err.Error())
os.Exit(2)
}
+
+ sshPath = filepath.Join(homeDir(), ".ssh")
}
type PublicKey struct {
diff --git a/models/user.go b/models/user.go
index c5208f0313..086b02c82f 100644
--- a/models/user.go
+++ b/models/user.go
@@ -66,7 +66,7 @@ const (
OP_PULL_REQUEST
)
-// A Action represents
+// An Action represents
type Action struct {
Id int64
UserId int64