From d6b7f6e61fbd5aeb10680956fbd8c31ae55f5ecd Mon Sep 17 00:00:00 2001 From: Anirudh Oppiliappan Date: Fri, 4 Apr 2025 20:54:18 +0300 Subject: [PATCH] knotserver: git: fix hiddenRef logic --- knotserver/git/fork.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/knotserver/git/fork.go b/knotserver/git/fork.go index 9ab1fdfe..b74be539 100644 --- a/knotserver/git/fork.go +++ b/knotserver/git/fork.go @@ -1,6 +1,7 @@ package git import ( + "errors" "fmt" "os/exec" @@ -34,13 +35,15 @@ func Fork(repoPath, source string) error { func (g *GitRepo) TrackHiddenRemoteRef(forkRef, remoteRef string) error { fetchOpts := &git.FetchOptions{ RefSpecs: []config.RefSpec{ - config.RefSpec(fmt.Sprintf("+refs/heads/%s:refs/hidden/%s/%s", forkRef, forkRef, remoteRef)), + config.RefSpec(fmt.Sprintf("+refs/heads/%s:refs/hidden/%s/%s", remoteRef, forkRef, remoteRef)), }, RemoteName: "origin", } err := g.r.Fetch(fetchOpts) - if err != nil { + if errors.Is(git.NoErrAlreadyUpToDate, err) { + return nil + } else if err != nil { return fmt.Errorf("failed to fetch hidden remote: %s: %w", forkRef, err) } return nil -- 2.54.0