From 8ad99d8219376d1d6b6915096e1404a282776d8e Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Thu, 3 Mar 2022 13:16:36 -0500 Subject: [PATCH] refactor(git): use repo path instead of name --- internal/git/git.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/internal/git/git.go b/internal/git/git.go index 7cbd469849e185d641c700fae01a0a74a72c8e2e..010e22f16014112e617eefa867f64b7d9fa9c002 100644 --- a/internal/git/git.go +++ b/internal/git/git.go @@ -23,7 +23,7 @@ var ErrMissingRepo = errors.New("missing repo") // Repo represents a Git repository. type Repo struct { - name string + path string repository *git.Repository Readme string refCommits map[plumbing.Hash]gitypes.Commits @@ -36,7 +36,7 @@ type Repo struct { // GetName returns the name of the repository. func (r *Repo) Name() string { - return r.name + return filepath.Base(r.path) } // GetHEAD returns the reference for a repository. @@ -238,7 +238,7 @@ func (rs *RepoSource) GetRepo(name string) (*Repo, error) { rs.mtx.Lock() defer rs.mtx.Unlock() for _, r := range rs.repos { - if r.name == name { + if filepath.Base(r.path) == name { return r, nil } } @@ -265,7 +265,7 @@ func (rs *RepoSource) InitRepo(name string, bare bool) (*Repo, error) { rg = ar } r := &Repo{ - name: name, + path: rp, repository: rg, } rs.repos = append(rs.repos, r) @@ -282,12 +282,12 @@ func (rs *RepoSource) LoadRepos() error { } rs.repos = make([]*Repo, 0) for _, de := range rd { - rn := de.Name() - rg, err := git.PlainOpen(filepath.Join(rs.Path, rn)) + rp := filepath.Join(rs.Path, de.Name()) + rg, err := git.PlainOpen(rp) if err != nil { return err } - r, err := rs.loadRepo(rn, rg) + r, err := rs.loadRepo(rp, rg) if err != nil { return err } @@ -296,9 +296,9 @@ func (rs *RepoSource) LoadRepos() error { return nil } -func (rs *RepoSource) loadRepo(name string, rg *git.Repository) (*Repo, error) { +func (rs *RepoSource) loadRepo(path string, rg *git.Repository) (*Repo, error) { r := &Repo{ - name: name, + path: path, repository: rg, patch: make(map[plumbing.Hash]*object.Patch), } @@ -362,3 +362,4 @@ func (r *Repo) LatestFile(path string) (string, error) { func (r *Repo) LatestTree(path string) (*object.Tree, error) { return r.Tree(r.head, path) } +