diff options
Diffstat (limited to 'internal/cmd/hook.go')
-rw-r--r-- | internal/cmd/hook.go | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/internal/cmd/hook.go b/internal/cmd/hook.go index 1d103d47..de95a57d 100644 --- a/internal/cmd/hook.go +++ b/internal/cmd/hook.go @@ -9,6 +9,7 @@ import ( "bytes" "crypto/tls" "fmt" + "net/url" "os" "os/exec" "path/filepath" @@ -25,7 +26,6 @@ import ( "gogs.io/gogs/internal/db/errors" "gogs.io/gogs/internal/email" "gogs.io/gogs/internal/httplib" - "gogs.io/gogs/internal/template" ) var ( @@ -87,7 +87,7 @@ func runHookPreReceive(c *cli.Context) error { } oldCommitID := string(fields[0]) newCommitID := string(fields[1]) - branchName := strings.TrimPrefix(string(fields[2]), git.BRANCH_PREFIX) + branchName := git.RefShortName(string(fields[2])) // Branch protection repoID := com.StrTo(os.Getenv(db.ENV_REPO_ID)).MustInt64() @@ -121,7 +121,7 @@ func runHookPreReceive(c *cli.Context) error { } // check and deletion - if newCommitID == git.EMPTY_SHA { + if newCommitID == git.EmptyID { fail(fmt.Sprintf("Branch '%s' is protected from deletion", branchName), "") } @@ -221,7 +221,7 @@ func runHookPostReceive(c *cli.Context) error { options := db.PushUpdateOptions{ OldCommitID: string(fields[0]), NewCommitID: string(fields[1]), - RefFullName: string(fields[2]), + FullRefspec: string(fields[2]), PusherID: com.StrTo(os.Getenv(db.ENV_AUTH_USER_ID)).MustInt64(), PusherName: os.Getenv(db.ENV_AUTH_USER_NAME), RepoUserName: os.Getenv(db.ENV_REPO_OWNER_NAME), @@ -232,19 +232,20 @@ func runHookPostReceive(c *cli.Context) error { } // Ask for running deliver hook and test pull request tasks - reqURL := conf.Server.LocalRootURL + options.RepoUserName + "/" + options.RepoName + "/tasks/trigger?branch=" + - template.EscapePound(strings.TrimPrefix(options.RefFullName, git.BRANCH_PREFIX)) + - "&secret=" + os.Getenv(db.ENV_REPO_OWNER_SALT_MD5) + - "&pusher=" + os.Getenv(db.ENV_AUTH_USER_ID) + q := make(url.Values) + q.Add("branch", git.RefShortName(options.FullRefspec)) + q.Add("secret", os.Getenv(db.ENV_REPO_OWNER_SALT_MD5)) + q.Add("pusher", os.Getenv(db.ENV_AUTH_USER_ID)) + reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode()) log.Trace("Trigger task: %s", reqURL) resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{ InsecureSkipVerify: true, }).Response() if err == nil { - resp.Body.Close() + _ = resp.Body.Close() if resp.StatusCode/100 != 2 { - log.Error("Failed to trigger task: not 2xx response code") + log.Error("Failed to trigger task: unsuccessful response code %d", resp.StatusCode) } } else { log.Error("Failed to trigger task: %v", err) |