style: use linter to style the code
This commit is contained in:
parent
ea8b2356b8
commit
3f81ebfb0d
5 changed files with 33 additions and 45 deletions
|
|
@ -10,9 +10,8 @@ import (
|
||||||
func checkoutRepositories(repositories []Repository) {
|
func checkoutRepositories(repositories []Repository) {
|
||||||
for _, repo := range repositories {
|
for _, repo := range repositories {
|
||||||
|
|
||||||
// create clone
|
// get repository name
|
||||||
repoName := string(repo.PathWithNamespace)
|
repoName := string(repo.PathWithNamespace)
|
||||||
url := getGitlabURL(gitlabToken, gitlabHost, repoName)
|
|
||||||
|
|
||||||
// create repository destination
|
// create repository destination
|
||||||
repoDestination := repoDestinationPre + repoName
|
repoDestination := repoDestinationPre + repoName
|
||||||
|
|
@ -23,15 +22,18 @@ func checkoutRepositories(repositories []Repository) {
|
||||||
bar.Describe(descriptionPrefix)
|
bar.Describe(descriptionPrefix)
|
||||||
|
|
||||||
// clone the repo
|
// clone the repo
|
||||||
cloneRepository := func(repoDestination string, gitlabUrl string) (string, error) {
|
cloneRepository := func(repoDestination string, url string) (string, error) {
|
||||||
cloneCmd := exec.Command("git", "clone", gitlabUrl, repoDestination)
|
cloneCmd := exec.Command("git", "clone", url, repoDestination)
|
||||||
cloneOutput, err := cloneCmd.CombinedOutput()
|
cloneOutput, err := cloneCmd.CombinedOutput()
|
||||||
|
|
||||||
return string(cloneOutput), err
|
return string(cloneOutput), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make gitlab url
|
||||||
|
url := fmt.Sprintf("https://gitlab-token:%s@%s/%s.git", gitlabToken, gitlabHost, repoName)
|
||||||
cloneOutput, err := cloneRepository(repoDestination, url)
|
cloneOutput, err := cloneRepository(repoDestination, url)
|
||||||
|
|
||||||
// try to pull if clone didnt work
|
// try to pull if clone didnt work
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
||||||
// if repo already exists, try to pull the latest changes
|
// if repo already exists, try to pull the latest changes
|
||||||
|
|
@ -59,27 +61,25 @@ func checkoutRepositories(repositories []Repository) {
|
||||||
|
|
||||||
func pullRepository(repoName string, repoDestination string) {
|
func pullRepository(repoName string, repoDestination string) {
|
||||||
|
|
||||||
// update the progress bar
|
// update the progress bar
|
||||||
descriptionPrefixPre := "Pulling repository "
|
descriptionPrefixPre := "Pulling repository "
|
||||||
descriptionPrefix := descriptionPrefixPre + repoName + " ..."
|
descriptionPrefix := descriptionPrefixPre + repoName + " ..."
|
||||||
bar.Describe(descriptionPrefix)
|
bar.Describe(descriptionPrefix)
|
||||||
|
|
||||||
|
// find remote
|
||||||
|
findRemote := func(repoDestination string) (string, error) {
|
||||||
|
remoteCmd := exec.Command("git", "-C", repoDestination, "remote", "show")
|
||||||
|
remoteOutput, err := remoteCmd.CombinedOutput()
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("finding remote: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
// find remote
|
remote := strings.Split(strings.TrimSpace(string(remoteOutput)), "\n")[0]
|
||||||
findRemote := func(repoDestination string) (string, error) {
|
return remote, nil
|
||||||
remoteCmd := exec.Command("git", "-C", repoDestination, "remote", "show")
|
}
|
||||||
remoteOutput, err := remoteCmd.CombinedOutput()
|
|
||||||
if err != nil {
|
|
||||||
return "", fmt.Errorf("finding remote: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
remote := strings.Split(strings.TrimSpace(string(remoteOutput)), "\n")[0]
|
|
||||||
return remote, nil
|
|
||||||
}
|
|
||||||
remote, _ := findRemote(repoDestination)
|
remote, _ := findRemote(repoDestination)
|
||||||
|
|
||||||
|
// pull repository
|
||||||
// pull repository
|
|
||||||
pullCmd := exec.Command("git", "-C", repoDestination, "pull", remote)
|
pullCmd := exec.Command("git", "-C", repoDestination, "pull", remote)
|
||||||
pullOutput, err := pullCmd.CombinedOutput()
|
pullOutput, err := pullCmd.CombinedOutput()
|
||||||
|
|
||||||
|
|
@ -88,11 +88,10 @@ func pullRepository(repoName string, repoDestination string) {
|
||||||
if strings.Contains(string(pullOutput), "You have unstaged changes") {
|
if strings.Contains(string(pullOutput), "You have unstaged changes") {
|
||||||
pullErrorMsg = append(pullErrorMsg, repoDestination)
|
pullErrorMsg = append(pullErrorMsg, repoDestination)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("pull error: %v", err)
|
log.Printf("pull error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update the progress bar
|
||||||
// update the progress bar
|
|
||||||
bar.Add(1)
|
bar.Add(1)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,3 @@ func fetchRepositoriesGitlab() ([]Repository, error) {
|
||||||
|
|
||||||
return repositories, nil
|
return repositories, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getGitlabURL(gitlabToken string, gitlabHost string, repoName string) (string) {
|
|
||||||
|
|
||||||
// make gitlab url
|
|
||||||
url := fmt.Sprintf("https://gitlab-token:%s@%s/%s.git",
|
|
||||||
gitlabToken,
|
|
||||||
gitlabHost,
|
|
||||||
repoName)
|
|
||||||
|
|
||||||
return url
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import (
|
||||||
func manageArguments() {
|
func manageArguments() {
|
||||||
|
|
||||||
// configuration vars
|
// configuration vars
|
||||||
var archivedFlag = flag.String("archived", "excluded", "To include archived repositories (any|excluded|exclusive)\n example: -archived=any\nenv = GOGITLABBER_ARCHIVED\n")
|
var archivedFlag = flag.String("archived", "excluded", "To include archived repositories (any|excluded|exclusive)\n example: -archived=any\nenv = GOGITLABBER_ARCHIVED\n")
|
||||||
var destinationFlag = flag.String("destination", "$HOME/Documents", "Specify where to check the repositories out\n example: -destination=$HOME/repos\nenv = GOGITLABBER_DESTINATION\n")
|
var destinationFlag = flag.String("destination", "$HOME/Documents", "Specify where to check the repositories out\n example: -destination=$HOME/repos\nenv = GOGITLABBER_DESTINATION\n")
|
||||||
var hostFlag = flag.String("gitlab-url", "gitlab.com", "Specify GitLab host\n example: -gitlab-url=gitlab.com\nenv = GITLAB_URL\n")
|
var hostFlag = flag.String("gitlab-url", "gitlab.com", "Specify GitLab host\n example: -gitlab-url=gitlab.com\nenv = GITLAB_URL\n")
|
||||||
var tokenFlag = flag.String("gitlab-api-token", "", "Specify GitLab API token\n example: -gitlab-api=glpat-xxxx\nenv = GITLAB_API_TOKEN\n")
|
var tokenFlag = flag.String("gitlab-api-token", "", "Specify GitLab API token\n example: -gitlab-api=glpat-xxxx\nenv = GITLAB_API_TOKEN\n")
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,8 @@ func main() {
|
||||||
// manage all argument magic
|
// manage all argument magic
|
||||||
manageArguments()
|
manageArguments()
|
||||||
|
|
||||||
// check for git
|
// check for git
|
||||||
verifyGitAvailable()
|
verifyGitAvailable()
|
||||||
|
|
||||||
// fetch repository information from gitlab
|
// fetch repository information from gitlab
|
||||||
repositories, err := fetchRepositoriesGitlab()
|
repositories, err := fetchRepositoriesGitlab()
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
)
|
)
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
func verifyGitAvailable() {
|
func verifyGitAvailable() {
|
||||||
_, err := exec.LookPath("git")
|
_, err := exec.LookPath("git")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Error: could not find git in path")
|
log.Fatalf("Error: could not find git in path")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue