diff options
author | Unknown <joe2010xtmf@163.com> | 2014-03-28 07:26:27 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-03-28 07:26:27 -0400 |
commit | 04bc86cafc17403194a10d8b066aa51521bff447 (patch) | |
tree | 9c264fa9a65ce262c95cd3db5ea2f7f2f00e85cc /update.go | |
parent | 0fd754bbe0dab966ad3070dc24f9583c67c84513 (diff) | |
parent | 89258e868b070ff3046de912e1d9a3009f923b62 (diff) | |
download | gitea-04bc86cafc17403194a10d8b066aa51521bff447.tar.gz gitea-04bc86cafc17403194a10d8b066aa51521bff447.zip |
Merge branch 'master' of github.com:gogits/gogs
Diffstat (limited to 'update.go')
-rw-r--r-- | update.go | 55 |
1 files changed, 30 insertions, 25 deletions
@@ -40,24 +40,33 @@ func runUpdate(c *cli.Context) { log.SetOutput(w) args := c.Args() + //log.Info(args) if len(args) != 3 { log.Error("received less 3 parameters") return } refName := args[0] + if refName == "" { + log.Error("refName is empty, shouldn't use") + return + } oldCommitId := args[1] newCommitId := args[2] + isNew := strings.HasPrefix(oldCommitId, "0000000") + if isNew && + strings.HasPrefix(newCommitId, "0000000") { + log.Error("old rev and new rev both 000000") + return + } + userName := os.Getenv("userName") userId := os.Getenv("userId") //repoId := os.Getenv("repoId") repoName := os.Getenv("repoName") - log.Info("username", userName) - log.Info("repoName", repoName) f := models.RepoPath(userName, repoName) - log.Info("f", f) gitUpdate := exec.Command("git", "update-server-info") gitUpdate.Dir = f @@ -69,24 +78,6 @@ func runUpdate(c *cli.Context) { return } - ref, err := repo.LookupReference(refName) - if err != nil { - log.Error("runUpdate.Ref repoId: %v", err) - return - } - - oldOid, err := git.NewOidFromString(oldCommitId) - if err != nil { - log.Error("runUpdate.Ref repoId: %v", err) - return - } - - oldCommit, err := repo.LookupCommit(oldOid) - if err != nil { - log.Error("runUpdate.Ref repoId: %v", err) - return - } - newOid, err := git.NewOidFromString(newCommitId) if err != nil { log.Error("runUpdate.Ref repoId: %v", err) @@ -101,11 +92,25 @@ func runUpdate(c *cli.Context) { var l *list.List // if a new branch - if strings.HasPrefix(oldCommitId, "0000000") { - l, err = ref.AllCommits() - + if isNew { + l, err = repo.CommitsBefore(newCommit.Id()) + if err != nil { + log.Error("Find CommitsBefore erro:", err) + return + } } else { - l = ref.CommitsBetween(newCommit, oldCommit) + oldOid, err := git.NewOidFromString(oldCommitId) + if err != nil { + log.Error("runUpdate.Ref repoId: %v", err) + return + } + + oldCommit, err := repo.LookupCommit(oldOid) + if err != nil { + log.Error("runUpdate.Ref repoId: %v", err) + return + } + l = repo.CommitsBetween(newCommit, oldCommit) } if err != nil { |