ref: df1f2fb3daa1acd25c88510f259d5535fb482126
dir: /repository/config.go/
package repository
import (
"fmt"
"os"
"codeberg.org/lindenii/furgit/config"
)
// parseRepositoryConfig loads the configuration of the repository through
// finding the config file in the repo root, and parses the config.
func parseRepositoryConfig(root *os.Root) (*config.Config, error) {
configFile, err := root.Open("config")
if err != nil {
return nil, fmt.Errorf("repository: open config: %w", err)
}
defer func() { _ = configFile.Close() }()
cfg, err := config.ParseConfig(configFile)
if err != nil {
return nil, fmt.Errorf("repository: parse config: %w", err)
}
return cfg, nil
}
// Config returns the parsed repository configuration snapshot.
//
// The returned pointer is owned by Repository. Callers should treat it as
// read-only.
func (repo *Repository) Config() *config.Config {
return repo.config
}