diff --git a/modules/git/cli_backend.go b/modules/git/cli_backend.go index d458de2..0641520 100644 --- a/modules/git/cli_backend.go +++ b/modules/git/cli_backend.go @@ -73,7 +73,15 @@ func (r *cliRepository) Config() (*Config, error) { for _, remoteName := range strings.Fields(remoteOut) { urlOut, err := r.git(nil, nil, "config", "--get-all", "remote."+remoteName+".url") if err != nil { - return nil, err + // tolerate remotes without a url key (e.g. git-annex special remotes) + var gitErr *gitCommandError + if !errors.As(err, &gitErr) { + return nil, err + } + stderr := strings.TrimSpace(gitErr.stderr) + if stderr != "" && !strings.Contains(stderr, "No such section or key") { + return nil, err + } } cfg.Remotes[remoteName] = &RemoteConfig{Name: remoteName, URLs: splitNonEmptyLines(urlOut)} }