X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/28e50cc9480fdad416404542511a172cdc7253c7..a5af8485c9658e13c6ef40981138731b0db35a68:/lib/crunchrun/git_mount.go diff --git a/lib/crunchrun/git_mount.go b/lib/crunchrun/git_mount.go index 92bb6d11d9..561ea18de4 100644 --- a/lib/crunchrun/git_mount.go +++ b/lib/crunchrun/git_mount.go @@ -48,25 +48,22 @@ func (gm gitMount) validate() error { // ExtractTree extracts the specified tree into dir, which is an // existing empty local directory. -func (gm gitMount) extractTree(ac IArvadosClient, dir string, token string) error { +func (gm gitMount) extractTree(ac *arvados.Client, dir string, token string) error { err := gm.validate() if err != nil { return err } - baseURL, err := ac.Discovery("gitUrl") + dd, err := ac.DiscoveryDocument() if err != nil { - return fmt.Errorf("discover gitUrl from API: %s", err) - } else if _, ok := baseURL.(string); !ok { - return fmt.Errorf("discover gitUrl from API: expected string, found %T", baseURL) + return fmt.Errorf("error getting discovery document: %w", err) } - - u, err := url.Parse(baseURL.(string)) + u, err := url.Parse(dd.GitURL) if err != nil { - return fmt.Errorf("parse gitUrl %q: %s", baseURL, err) + return fmt.Errorf("parse gitUrl %q: %s", dd.GitURL, err) } u, err = u.Parse("/" + gm.UUID + ".git") if err != nil { - return fmt.Errorf("build git url from %q, %q: %s", baseURL, gm.UUID, err) + return fmt.Errorf("build git url from %q, %q: %s", dd.GitURL, gm.UUID, err) } store := memory.NewStorage() repo, err := git.Init(store, osfs.New(dir))