1package proto
2
3// Provider is a Git repository provider.
4type Provider interface {
5 // Open opens a repository.
6 Open(name string) (Repository, error)
7 // ListRepos lists all repositories.
8 ListRepos() ([]Metadata, error)
9 // Create creates a new repository.
10 Create(name string, projectName string, description string, isPrivate bool) error
11 // Delete deletes a repository.
12 Delete(name string) error
13 // Rename renames a repository.
14 Rename(name string, newName string) error
15 // SetProjectName sets a repository's project name.
16 SetProjectName(name string, projectName string) error
17 // SetDescription sets a repository's description.
18 SetDescription(name string, description string) error
19 // SetPrivate sets a repository's private flag.
20 SetPrivate(name string, isPrivate bool) error
21 // SetDefaultBranch sets a repository's default branch.
22 SetDefaultBranch(name string, branch string) error
23}
24
25// MetadataProvider is a Git repository metadata provider.
26type MetadataProvider interface {
27 // Metadata gets a repository's metadata.
28 Metadata(name string) (Metadata, error)
29}