summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.fswatch.json20
-rw-r--r--models/models.go19
-rwxr-xr-xstart.sh15
-rw-r--r--web.go2
4 files changed, 45 insertions, 11 deletions
diff --git a/.fswatch.json b/.fswatch.json
new file mode 100644
index 0000000000..81243ebc3f
--- /dev/null
+++ b/.fswatch.json
@@ -0,0 +1,20 @@
+{
+ "paths": ["."],
+ "depth": 2,
+ "exclude": [
+ "^gogs$",
+ "~$",
+ "\\.swp$",
+ "\\.exe$",
+ "\\.swx$",
+ ".*\\.log$"
+ ],
+ "include": ["\\.go$"],
+ "command": [
+ "bash", "-c", "go build && ./gogs web"
+ ],
+ "env": {
+ "POWERED_BY": "github.com/shxsun/fswatch"
+ },
+ "enable-restart": false
+}
diff --git a/models/models.go b/models/models.go
index 0ad863371c..ee96207d10 100644
--- a/models/models.go
+++ b/models/models.go
@@ -18,7 +18,9 @@ import (
)
var (
- orm *xorm.Engine
+ orm *xorm.Engine
+ tables []interface{}
+
HasEngine bool
DbCfg struct {
@@ -28,6 +30,11 @@ var (
UseSQLite3 bool
)
+func init() {
+ tables = append(tables, new(User), new(PublicKey), new(Repository), new(Watch),
+ new(Action), new(Access), new(Issue), new(Comment), new(Oauth2))
+}
+
func LoadModelsConfig() {
DbCfg.Type = base.Cfg.MustValue("database", "DB_TYPE")
if DbCfg.Type == "sqlite3" {
@@ -58,9 +65,7 @@ func NewTestEngine(x *xorm.Engine) (err error) {
if err != nil {
return fmt.Errorf("models.init(fail to conntect database): %v", err)
}
-
- return x.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
- new(Action), new(Access), new(Issue), new(Comment))
+ return x.Sync(tables...)
}
func SetEngine() (err error) {
@@ -102,9 +107,9 @@ func SetEngine() (err error) {
func NewEngine() (err error) {
if err = SetEngine(); err != nil {
return err
- } else if err = orm.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
- new(Action), new(Access), new(Issue), new(Comment)); err != nil {
- return fmt.Errorf("sync database struct error: %v", err)
+ }
+ if err = orm.Sync(tables...); err != nil {
+ return fmt.Errorf("sync database struct error: %v\n", err)
}
return nil
}
diff --git a/start.sh b/start.sh
index 331d340cda..3b974378e5 100755
--- a/start.sh
+++ b/start.sh
@@ -1,6 +1,15 @@
-#!/bin/bash -
+#!/bin/sh -
+# Copyright 2014 The Gogs Authors. All rights reserved.
+# Use of this source code is governed by a MIT-style
+# license that can be found in the LICENSE file.
#
# start gogs web
#
-cd "$(dirname $0)"
-./gogs web
+IFS='
+ '
+PATH=/bin:/usr/bin:/usr/local/bin
+HOME=${HOME:?"need \$HOME variable"}
+USER=$(whoami)
+export USER HOME PATH
+
+cd "$(dirname $0)" && exec ./gogs web
diff --git a/web.go b/web.go
index 00fa72cbce..86c395e7bd 100644
--- a/web.go
+++ b/web.go
@@ -88,7 +88,7 @@ func runWeb(*cli.Context) {
m.Get("/avatar/:hash", avt.ServeHTTP)
m.Group("/user", func(r martini.Router) {
- // r.Any("/login/github", user.SocialSignIn)
+ r.Any("/login/github", user.SocialSignIn)
r.Any("/login", binding.BindIgnErr(auth.LogInForm{}), user.SignIn)
r.Any("/sign_up", binding.BindIgnErr(auth.RegisterForm{}), user.SignUp)
r.Any("/forget_password", user.ForgotPasswd)