GitRoot
Craft your forge, Build your project, Grow your community freely
1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: EUPL-1.2
4
5package user
6
7import (
8 "github.com/go-git/go-git/v6/plumbing"
9 "github.com/samber/oops"
10)
11
12type myRepo interface {
13 Name() string
14 ContentUserAtRef(name plumbing.ReferenceName) ([]byte, error)
15}
16
17func LoadGroup(repo myRepo, ref plumbing.ReferenceName) ([]Group, error) {
18 usersContent, err := repo.ContentUserAtRef(ref)
19 if err != nil {
20 return nil, oops.With("repo", repo.Name()).Wrapf(err, "can't get ContentUserAtRef")
21 }
22 return ParseGroups(usersContent)
23}