aboutsummaryrefslogtreecommitdiffstats
path: root/modules/private/hook.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/private/hook.go')
-rw-r--r--modules/private/hook.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/private/hook.go b/modules/private/hook.go
index 010fc4d724..84d66943ba 100644
--- a/modules/private/hook.go
+++ b/modules/private/hook.go
@@ -9,6 +9,7 @@ import (
"fmt"
"net/http"
"net/url"
+ "strconv"
"time"
"code.gitea.io/gitea/modules/setting"
@@ -19,8 +20,28 @@ const (
GitAlternativeObjectDirectories = "GIT_ALTERNATE_OBJECT_DIRECTORIES"
GitObjectDirectory = "GIT_OBJECT_DIRECTORY"
GitQuarantinePath = "GIT_QUARANTINE_PATH"
+ GitPushOptionCount = "GIT_PUSH_OPTION_COUNT"
)
+// GitPushOptions is a wrapper around a map[string]string
+type GitPushOptions map[string]string
+
+// GitPushOptions keys
+const (
+ GitPushOptionRepoPrivate = "repo.private"
+ GitPushOptionRepoTemplate = "repo.template"
+)
+
+// Bool checks for a key in the map and parses as a boolean
+func (g GitPushOptions) Bool(key string, def bool) bool {
+ if val, ok := g[key]; ok {
+ if b, err := strconv.ParseBool(val); err == nil {
+ return b
+ }
+ }
+ return def
+}
+
// HookOptions represents the options for the Hook calls
type HookOptions struct {
OldCommitIDs []string
@@ -31,6 +52,7 @@ type HookOptions struct {
GitObjectDirectory string
GitAlternativeObjectDirectories string
GitQuarantinePath string
+ GitPushOptions GitPushOptions
ProtectedBranchID int64
IsDeployKey bool
}