aboutsummaryrefslogtreecommitdiffstats
path: root/serve.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-26 13:31:27 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-26 13:31:27 +0800
commitcf4123f3bc0d71bf7026818ae823a64712a65744 (patch)
treed445dc644373adcd75e26ba30355d94133bddace /serve.go
parentfc1419d763a5a8266648874bede9a04068c64b87 (diff)
downloadgitea-cf4123f3bc0d71bf7026818ae823a64712a65744.tar.gz
gitea-cf4123f3bc0d71bf7026818ae823a64712a65744.zip
bug fixed
Diffstat (limited to 'serve.go')
-rw-r--r--serve.go147
1 files changed, 2 insertions, 145 deletions
diff --git a/serve.go b/serve.go
index 5a1a67a632..926521a5a1 100644
--- a/serve.go
+++ b/serve.go
@@ -131,6 +131,7 @@ func runServ(k *cli.Context) {
// access check
switch {
case isWrite:
+ println(user.Name, repoName, models.AU_WRITABLE)
has, err := models.HasAccess(user.Name, repoName, models.AU_WRITABLE)
if err != nil {
println("Inernel error:", err)
@@ -165,48 +166,14 @@ func runServ(k *cli.Context) {
return
}
- /*
- var rep *git.Repository
- repoPath := models.RepoPath(user.Name, repoName)
- if !isExist {
- if isWrite {
- _, err = models.CreateRepository(user, repoName, "", "", "", false, true)
- if err != nil {
- println("Create repository failed")
- log.Error(err.Error())
- return
- }
- }
- }
-
- rep, err = git.OpenRepository(repoPath)
- if err != nil {
- println("OpenRepository failed:", err.Error())
- log.Error(err.Error())
- return
- }
-
- refs, err := rep.AllReferencesMap()
- if err != nil {
- println("Get All References failed:", err.Error())
- log.Error(err.Error())
- return
- }
-*/
-
+ // for update use
os.Setenv("userName", user.Name)
os.Setenv("userId", strconv.Itoa(int(user.Id)))
- //os.Setenv("repoId", repoId)
os.Setenv("repoName", repoName)
gitcmd := exec.Command(verb, rRepo)
gitcmd.Dir = base.RepoRootPath
-
- //var s string
- //b := bytes.NewBufferString(s)
-
gitcmd.Stdout = os.Stdout
- //gitcmd.Stdin = io.MultiReader(os.Stdin, b)
gitcmd.Stdin = os.Stdin
gitcmd.Stderr = os.Stderr
@@ -215,114 +182,4 @@ func runServ(k *cli.Context) {
log.Error(err.Error())
return
}
-
- //if isRead {
- // return
- //}
-
- // find push reference name
- //var t = "ok refs/heads/"
- //var i int
- //var refname string
- /*for {
- l, err := b.ReadString('\n')
- if err != nil {
- break
- }
- i = i + 1
- l = l[:len(l)-1]
- idx := strings.Index(l, t)
- if idx > 0 {
- 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
- }
-
- var ref *git.Reference
- var ok bool
- var l *list.List
- //log.Info("----", refname, "-----")
- if ref, ok = refs[refname]; !ok {
- // for new branch
- refs, err = rep.AllReferencesMap()
- if err != nil {
- println("Get All References failed:", err.Error())
- log.Error(err.Error())
- return
- }
- if ref, ok = refs[refname]; !ok {
- log.Error("unknow reference name -", refname, "-", b.String())
- return
- }
- l, err = ref.AllCommits()
- if err != nil {
- println("Get All Commits failed:", err.Error())
- log.Error(err.Error())
- return
- }
- } else {
- //log.Info("----", ref, "-----")
- var last *git.Commit
- //log.Info("00000", ref.Oid.String())
- last, err = ref.LastCommit()
- if err != nil {
- println("Get last commit failed:", err.Error())
- log.Error(err.Error())
- return
- }
-
- ref2, err := rep.LookupReference(ref.Name)
- if err != nil {
- println("look up reference failed:", err.Error())
- log.Error(err.Error())
- return
- }
-
- //log.Info("11111", ref2.Oid.String())
- before, err := ref2.LastCommit()
- if err != nil {
- println("Get last commit failed:", err.Error())
- log.Error(err.Error())
- return
- }
- //log.Info("----", before.Id(), "-----", last.Id())
- l = ref.CommitsBetween(before, last)
- }
-
- commits := make([][]string, 0)
- var maxCommits = 3
- for e := l.Front(); e != nil; e = e.Next() {
- commit := e.Value.(*git.Commit)
- commits = append(commits, []string{commit.Id().String(), commit.Message()})
- if len(commits) >= maxCommits {
- break
- }
- }
-
- if err = models.CommitRepoAction(user.Id, user.Name,
- repo.Id, repoName, refname, &base.PushCommits{l.Len(), commits}); err != nil {
- log.Error("runUpdate.models.CommitRepoAction: %v", err, commits)
- } else {
- c := exec.Command("git", "update-server-info")
- c.Dir = repoPath
- err := c.Run()
- if err != nil {
- log.Error("update-server-info: %v", err)
- }
- }*/
}