summaryrefslogtreecommitdiffstats
path: root/update.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-28 07:26:27 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-28 07:26:27 -0400
commit04bc86cafc17403194a10d8b066aa51521bff447 (patch)
tree9c264fa9a65ce262c95cd3db5ea2f7f2f00e85cc /update.go
parent0fd754bbe0dab966ad3070dc24f9583c67c84513 (diff)
parent89258e868b070ff3046de912e1d9a3009f923b62 (diff)
downloadgitea-04bc86cafc17403194a10d8b066aa51521bff447.tar.gz
gitea-04bc86cafc17403194a10d8b066aa51521bff447.zip
Merge branch 'master' of github.com:gogits/gogs
Diffstat (limited to 'update.go')
-rw-r--r--update.go55
1 files changed, 30 insertions, 25 deletions
diff --git a/update.go b/update.go
index 23abd7b2e7..faec0029ac 100644
--- a/update.go
+++ b/update.go
@@ -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 {