Browse Source

bug fixed

Lunny Xiao 11 years ago
parent
commit
a24c0b92e4
2 changed files with 44 additions and 34 deletions
  1. 14 8
      routers/repo/http.go
  2. 30 26
      update.go

+ 14 - 8
routers/repo/http.go

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

+ 30 - 26
update.go

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