From 395e3ec3ce663254bf97fe9900760cf051bd1ed9 Mon Sep 17 00:00:00 2001
From: Runxi Yu <me@runxiyu.org>
Date: Sat, 29 Mar 2025 22:06:10 +0800
Subject: [PATCH] Don't error out because the symlink exists

---
 git_hooks_deploy.go | 6 +++++-

diff --git a/git_hooks_deploy.go b/git_hooks_deploy.go
index 86df6e31365dd397663ebc7ee70d4f1d2ffc4e14..5952c83aef2e22de739f5c1e9f19ca683d4a1dff 100644
--- a/git_hooks_deploy.go
+++ b/git_hooks_deploy.go
@@ -4,6 +4,7 @@
 package main
 
 import (
+	"errors"
 	"io"
 	"io/fs"
 	"os"
@@ -48,7 +49,10 @@ 	for _, hookName := range []string{
 		"pre-receive",
 	} {
 		if err = os.Symlink(filepath.Join(config.Hooks.Execs, "hookc"), filepath.Join(config.Hooks.Execs, hookName)); err != nil {
-			return err
+			if !errors.Is(err, fs.ErrExist) {
+				return err
+			}
+			// TODO: Maybe check if it points to the right place?
 		}
 	}
 

-- 
2.48.1