aboutsummaryrefslogtreecommitdiff
path: root/internal/cmd/hook.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cmd/hook.go')
-rw-r--r--internal/cmd/hook.go21
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)