@@ -82,7 +82,8 @@ func Http(ctx *middleware.Context, params martini.Params) { | |||
return | |||
} | |||
newUser := &models.User{Passwd: passwd} | |||
newUser := &models.User{Passwd: passwd, Salt: authUser.Salt} | |||
newUser.EncodePasswd() | |||
if authUser.Passwd != newUser.Passwd { | |||
ctx.Handle(401, "no basic auth and digit auth", nil) | |||
@@ -112,7 +113,10 @@ func Http(ctx *middleware.Context, params martini.Params) { | |||
} | |||
} | |||
config := Config{base.RepoRootPath, "git", true, true} | |||
config := Config{base.RepoRootPath, "git", true, true, func(rpc string, input []byte) { | |||
//fmt.Println("rpc:", rpc) | |||
//fmt.Println("input:", string(input)) | |||
}} | |||
handler := HttpBackend(&config) | |||
handler(ctx.ResponseWriter, ctx.Req) | |||
@@ -135,11 +139,11 @@ type route struct { | |||
} | |||
type Config struct { | |||
ReposRoot string | |||
GitBinPath string | |||
UploadPack bool | |||
ReceivePack bool | |||
OnPushSucceed func() | |||
ReposRoot string | |||
GitBinPath string | |||
UploadPack bool | |||
ReceivePack bool | |||
OnSucceed func(rpc string, input []byte) | |||
} | |||
type handler struct { | |||
@@ -243,7 +247,9 @@ func serviceRpc(rpc string, hr handler) { | |||
io.Copy(w, stdout) | |||
cmd.Wait() | |||
hr.Config.OnPushSucceed() | |||
if hr.Config.OnSucceed != nil { | |||
hr.Config.OnSucceed(rpc, input) | |||
} | |||
} | |||
func getInfoRefs(hr handler) { | |||
@@ -42,32 +42,7 @@ func newUpdateLogger(execDir string) { | |||
qlog.Info("Start logging update...") | |||
} | |||
// for command: ./gogs update | |||
func runUpdate(c *cli.Context) { | |||
execDir, _ := base.ExecDir() | |||
newUpdateLogger(execDir) | |||
base.NewConfigContext() | |||
models.LoadModelsConfig() | |||
if models.UseSQLite3 { | |||
os.Chdir(execDir) | |||
} | |||
models.SetEngine() | |||
args := c.Args() | |||
if len(args) != 3 { | |||
qlog.Fatal("received less 3 parameters") | |||
} | |||
refName := args[0] | |||
if refName == "" { | |||
qlog.Fatal("refName is empty, shouldn't use") | |||
} | |||
oldCommitId := args[1] | |||
newCommitId := args[2] | |||
func update(refName, oldCommitId, newCommitId string) { | |||
isNew := strings.HasPrefix(oldCommitId, "0000000") | |||
if isNew && | |||
strings.HasPrefix(newCommitId, "0000000") { | |||
@@ -158,3 +133,32 @@ func runUpdate(c *cli.Context) { | |||
qlog.Fatalf("runUpdate.models.CommitRepoAction: %v", err) | |||
} | |||
} | |||
// for command: ./gogs update | |||
func runUpdate(c *cli.Context) { | |||
execDir, _ := base.ExecDir() | |||
newUpdateLogger(execDir) | |||
base.NewConfigContext() | |||
models.LoadModelsConfig() | |||
if models.UseSQLite3 { | |||
os.Chdir(execDir) | |||
} | |||
models.SetEngine() | |||
args := c.Args() | |||
if len(args) != 3 { | |||
qlog.Fatal("received less 3 parameters") | |||
} | |||
refName := args[0] | |||
if refName == "" { | |||
qlog.Fatal("refName is empty, shouldn't use") | |||
} | |||
oldCommitId := args[1] | |||
newCommitId := args[2] | |||
update(refName, oldCommitId, newCommitId) | |||
} |