aboutsummaryrefslogtreecommitdiff
path: root/git_init.go
diff options
context:
space:
mode:
Diffstat (limited to 'git_init.go')
-rw-r--r--git_init.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/git_init.go b/git_init.go
new file mode 100644
index 0000000..466628f
--- /dev/null
+++ b/git_init.go
@@ -0,0 +1,28 @@
+package main
+
+
+import (
+ "github.com/go-git/go-git/v5"
+ git_format_config "github.com/go-git/go-git/v5/plumbing/format/config"
+)
+
+func git_bare_init_with_default_hooks(repo_path string) (err error) {
+ repo, err := git.PlainInit(repo_path, true)
+ if err != nil {
+ return err
+ }
+
+ git_config, err := repo.Config()
+ if err != nil {
+ return err
+ }
+
+ git_config.Raw.SetOption("core", git_format_config.NoSubsection, "hooksPath", config.Hooks.Execs)
+
+ err = repo.SetConfig(git_config)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}