aboutsummaryrefslogtreecommitdiff
path: root/git2d_deploy.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-04-03 16:32:45 +0800
committerRunxi Yu <me@runxiyu.org>2025-04-03 16:47:01 +0800
commit565536e67385e7337e1a7d67c80499216d645882 (patch)
treeac3e714b70d1d2191668c91032f983b562f50254 /git2d_deploy.go
parentHTML: Fix authorship fields (diff)
downloadforge-565536e67385e7337e1a7d67c80499216d645882.tar.gz
forge-565536e67385e7337e1a7d67c80499216d645882.tar.zst
forge-565536e67385e7337e1a7d67c80499216d645882.zip
Automatically deploy and run git2d
Diffstat (limited to 'git2d_deploy.go')
-rw-r--r--git2d_deploy.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/git2d_deploy.go b/git2d_deploy.go
new file mode 100644
index 0000000..09332a8
--- /dev/null
+++ b/git2d_deploy.go
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: AGPL-3.0-only
+// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
+
+package main
+
+import (
+ "io"
+ "io/fs"
+ "os"
+)
+
+func deployGit2D() (err error) {
+ var srcFD fs.File
+ var dstFD *os.File
+
+ if srcFD, err = resourcesFS.Open("git2d/git2d"); err != nil {
+ return err
+ }
+ defer srcFD.Close()
+
+ if dstFD, err = os.OpenFile(config.Git.DaemonPath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0o755); err != nil {
+ return err
+ }
+ defer dstFD.Close()
+
+ _, err = io.Copy(dstFD, srcFD)
+
+ return err
+}