forked from tangled.org/core
this repo has no description

knotserver: git: fix hiddenRef logic

anirudh.fi d6b7f6e6 5959c27f

verified
Changed files
+5 -2
knotserver
git
+5 -2
knotserver/git/fork.go
··· 1 package git 2 3 import ( 4 "fmt" 5 "os/exec" 6 ··· 34 func (g *GitRepo) TrackHiddenRemoteRef(forkRef, remoteRef string) error { 35 fetchOpts := &git.FetchOptions{ 36 RefSpecs: []config.RefSpec{ 37 - config.RefSpec(fmt.Sprintf("+refs/heads/%s:refs/hidden/%s/%s", forkRef, forkRef, remoteRef)), 38 }, 39 RemoteName: "origin", 40 } 41 42 err := g.r.Fetch(fetchOpts) 43 - if err != nil { 44 return fmt.Errorf("failed to fetch hidden remote: %s: %w", forkRef, err) 45 } 46 return nil
··· 1 package git 2 3 import ( 4 + "errors" 5 "fmt" 6 "os/exec" 7 ··· 35 func (g *GitRepo) TrackHiddenRemoteRef(forkRef, remoteRef string) error { 36 fetchOpts := &git.FetchOptions{ 37 RefSpecs: []config.RefSpec{ 38 + config.RefSpec(fmt.Sprintf("+refs/heads/%s:refs/hidden/%s/%s", remoteRef, forkRef, remoteRef)), 39 }, 40 RemoteName: "origin", 41 } 42 43 err := g.r.Fetch(fetchOpts) 44 + if errors.Is(git.NoErrAlreadyUpToDate, err) { 45 + return nil 46 + } else if err != nil { 47 return fmt.Errorf("failed to fetch hidden remote: %s: %w", forkRef, err) 48 } 49 return nil