github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/lib/project/open_or_clone.go (about) 1 package projectLib 2 3 import ( 4 git "github.com/taubyte/go-simple-git" 5 projectI18n "github.com/taubyte/tau-cli/i18n/project" 6 "github.com/taubyte/tau-cli/singletons/config" 7 ) 8 9 func (h *repositoryHandler) openOrCloneProject(profile config.Profile, tauProject config.Project, embedToken bool) error { 10 project, err := projectByName(h.projectName) 11 if err != nil { 12 return err 13 } 14 15 repoData, err := project.Repositories() 16 if err != nil { 17 return projectI18n.GettingRepositoryURLsFailed(h.projectName, err) 18 } 19 20 configUrl := git.URL(CleanGitURL(repoData.Configuration.Url)) 21 codeUrl := git.URL(CleanGitURL(repoData.Code.Url)) 22 23 var tokenOption git.Option 24 if embedToken { 25 tokenOption = git.EmbeddedToken(profile.Token) 26 } else { 27 tokenOption = git.Token(profile.Token) 28 } 29 30 h.config, err = h.openOrClone(profile, tauProject.ConfigLoc(), configUrl, tokenOption) 31 if err != nil { 32 return err 33 } 34 35 h.code, err = h.openOrClone(profile, tauProject.CodeLoc(), codeUrl, tokenOption) 36 if err != nil { 37 return err 38 } 39 40 return nil 41 }