mirror of
https://github.com/cooperspencer/gickup
synced 2024-10-18 13:48:07 +02:00
Add support for GitLab wiki repos
This commit is contained in:
parent
9606d0707f
commit
c1669ad8b5
@ -4,12 +4,15 @@ import (
|
||||
"fmt"
|
||||
"gickup/types"
|
||||
"path"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/xanzy/go-gitlab"
|
||||
)
|
||||
|
||||
var dotGitRx = regexp.MustCompile(`\.git$`)
|
||||
|
||||
func Backup(r types.Repo, d types.GenRepo, dry bool) {
|
||||
gitlabclient := &gitlab.Client{}
|
||||
var err error
|
||||
@ -98,15 +101,32 @@ func Get(conf *types.Conf) []types.Repo {
|
||||
|
||||
for _, r := range gitlabrepos {
|
||||
if include[r.Name] {
|
||||
if r.RepositoryAccessLevel != gitlab.DisabledAccessControl {
|
||||
repos = append(repos, types.Repo{Name: r.Name, Url: r.HTTPURLToRepo, SshUrl: r.SSHURLToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: r.Owner.Username, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
|
||||
if r.WikiEnabled {
|
||||
httpUrlToRepo := dotGitRx.ReplaceAllString(r.HTTPURLToRepo, ".wiki.git")
|
||||
sshUrlToRepo := dotGitRx.ReplaceAllString(r.SSHURLToRepo, ".wiki.git")
|
||||
repos = append(repos, types.Repo{Name: r.Name + ".wiki", Url: httpUrlToRepo, SshUrl: sshUrlToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: r.Owner.Username, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
if exclude[r.Name] {
|
||||
continue
|
||||
}
|
||||
if len(include) == 0 {
|
||||
if r.RepositoryAccessLevel != gitlab.DisabledAccessControl {
|
||||
repos = append(repos, types.Repo{Name: r.Name, Url: r.HTTPURLToRepo, SshUrl: r.SSHURLToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: r.Owner.Username, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
|
||||
if r.WikiEnabled {
|
||||
httpUrlToRepo := dotGitRx.ReplaceAllString(r.HTTPURLToRepo, ".wiki.git")
|
||||
sshUrlToRepo := dotGitRx.ReplaceAllString(r.SSHURLToRepo, ".wiki.git")
|
||||
repos = append(repos, types.Repo{Name: r.Name + ".wiki", Url: httpUrlToRepo, SshUrl: sshUrlToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: r.Owner.Username, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
}
|
||||
}
|
||||
if repo.Token != "" {
|
||||
groups := []*gitlab.Group{}
|
||||
@ -150,15 +170,31 @@ func Get(conf *types.Conf) []types.Repo {
|
||||
for k, gr := range gitlabgrouprepos {
|
||||
for _, r := range gr {
|
||||
if include[r.Name] {
|
||||
if r.RepositoryAccessLevel != gitlab.DisabledAccessControl {
|
||||
repos = append(repos, types.Repo{Name: r.Name, Url: r.HTTPURLToRepo, SshUrl: r.SSHURLToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: k, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
|
||||
if r.WikiEnabled {
|
||||
httpUrlToRepo := dotGitRx.ReplaceAllString(r.HTTPURLToRepo, ".wiki.git")
|
||||
sshUrlToRepo := dotGitRx.ReplaceAllString(r.SSHURLToRepo, ".wiki.git")
|
||||
repos = append(repos, types.Repo{Name: r.Name + ".wiki", Url: httpUrlToRepo, SshUrl: sshUrlToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: k, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
continue
|
||||
}
|
||||
if exclude[r.Name] {
|
||||
continue
|
||||
}
|
||||
if len(include) == 0 {
|
||||
if r.RepositoryAccessLevel != gitlab.DisabledAccessControl {
|
||||
repos = append(repos, types.Repo{Name: r.Name, Url: r.HTTPURLToRepo, SshUrl: r.SSHURLToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: k, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
|
||||
if r.WikiEnabled {
|
||||
httpUrlToRepo := dotGitRx.ReplaceAllString(r.HTTPURLToRepo, ".wiki.git")
|
||||
sshUrlToRepo := dotGitRx.ReplaceAllString(r.SSHURLToRepo, ".wiki.git")
|
||||
repos = append(repos, types.Repo{Name: r.Name + ".wiki", Url: httpUrlToRepo, SshUrl: sshUrlToRepo, Token: repo.Token, Defaultbranch: r.DefaultBranch, Origin: repo, Owner: k, Hoster: types.GetHost(repo.Url)})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user