style: use linter to style the code

This commit is contained in:
Simon Cornet 2025-02-28 14:34:37 +01:00
commit 3f81ebfb0d
5 changed files with 33 additions and 45 deletions

View file

@ -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)
} }

View file

@ -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
}

View file

@ -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")

View file

@ -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()

View file

@ -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)
} }
} }