| @@ -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) | |||
| } | |||