]> source.dussan.org Git - gitea.git/commitdiff
bug fixed
authorLunny Xiao <xiaolunwen@gmail.com>
Tue, 25 Mar 2014 16:00:36 +0000 (00:00 +0800)
committerLunny Xiao <xiaolunwen@gmail.com>
Tue, 25 Mar 2014 16:00:36 +0000 (00:00 +0800)
models/repo.go
serve.go
update.go

index d5f9be72acf7faef336648cd1aca987b7a634c1f..9e469952e30d123ea712df9af9ccbd563bf61a9f 100644 (file)
@@ -261,7 +261,6 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
                return err
        }
 
-       /*
        // hook/post-update
        pu, err := os.OpenFile(filepath.Join(repoPath, "hooks", "post-update"), os.O_CREATE|os.O_WRONLY, 0777)
        if err != nil {
@@ -269,11 +268,11 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
        }
        defer pu.Close()
        // TODO: Windows .bat
-       if _, err = pu.WriteString(fmt.Sprintf("#!/usr/bin/env bash\n%s update\n", appPath)); err != nil {
+       if _, err = pu.WriteString(fmt.Sprintf("#!/usr/bin/env bash\n%s update ARGV[0] ARGV[1] ARGV[2]\n", appPath)); err != nil {
                return err
        }
 
-       // hook/post-update
+       /*// hook/post-update
        pu2, err := os.OpenFile(filepath.Join(repoPath, "hooks", "post-receive"), os.O_CREATE|os.O_WRONLY, 0777)
        if err != nil {
                return err
index 27324df19bd23cb135bb1dec219d63cb5773488b..6cd1e224a87694112639a71a6692b003e498ec28 100644 (file)
--- a/serve.go
+++ b/serve.go
@@ -212,18 +212,18 @@ func runServ(k *cli.Context) {
                return
        }
 
-       if isRead {
+       //if isRead {
                return
-       }
+       //}
 
        time.Sleep(time.Second)
        log.Info(s)
 
        // find push reference name
-       var t = "ok refs/heads/"
-       var i int
+       //var t = "ok refs/heads/"
+       //var i int
        var refname string
-       for {
+       /*for {
                l, err := b.ReadString('\n')
                if err != nil {
                        break
@@ -235,6 +235,18 @@ func runServ(k *cli.Context) {
                        refname = l[idx+len(t):]
                }
        }
+       */
+
+       refs2, err := rep.AllReferencesMap()
+       for name, ref := range refs2 {
+               if ref2, ok := refs[name]; ok {
+                       if ref.Oid.Equal(ref2.Oid) {
+                               continue
+                       }
+               }
+               refname = name
+               break
+       }
        if refname == "" {
                println("No find any reference name:", s)
                return
index 915e046530d43c6ac0dfc08cc25a53a7562eefa9..ebc51b2a0c2c443841e0b3a29787f73b251ee9a0 100644 (file)
--- a/update.go
+++ b/update.go
@@ -4,9 +4,12 @@
 
 package main
 
-import "github.com/codegangsta/cli"
-
-//"github.com/gogits/gogs/modules/log"
+import (
+"fmt"
+"os"
+"github.com/codegangsta/cli"
+"github.com/gogits/gogs/modules/log"
+)
 
 var CmdUpdate = cli.Command{
        Name:  "update",
@@ -18,11 +21,18 @@ gogs serv provide access auth for repositories`,
 }
 
 // for command: ./gogs update
-func runUpdate(*cli.Context) {
-       /*w, _ := os.Create("update.log")
-       log.SetOutput(w)
+func runUpdate(c *cli.Context) {
+       level := "0"
+       os.MkdirAll("log", os.ModePerm)
+       log.NewLogger(10000, "file", fmt.Sprintf(`{"level":%s,"filename":"%s"}`, level, "log/serv.log"))
+       log.Info("start update logging...")
 
-       userName := os.Getenv("userName")
+       //w, _ := os.Create("update.log")
+       //log.SetOutput(w)
+       for i, arg := range c.Args() {
+       log.Info("%d : %s", i, arg)
+}
+       /*userName := os.Getenv("userName")
        userId := os.Getenv("userId")
        repoId := os.Getenv("repoId")
        repoName := os.Getenv("repoName")