1 Commits

Author SHA1 Message Date
01c736b54e fixup clone error 2024-02-02 16:24:06 -08:00
2 changed files with 7 additions and 2 deletions

1
cmd/mg/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
main

View File

@@ -40,14 +40,16 @@ var (
for i := 0; i < jobs; i++ { for i := 0; i < jobs; i++ {
go func() { go func() {
for repo := range repoChan { for repo := range repoChan {
_, err := git.PlainOpenWithOptions(repo.Remote, &(git.PlainOpenOptions{DetectDotGit: true})) _, err := git.PlainOpenWithOptions(repo.Path, &(git.PlainOpenOptions{DetectDotGit: true}))
if err == nil { if err == nil {
log.Printf("already cloned: %s\n", repo.Path) log.Printf("already cloned: %s\n", repo.Path)
mutex.Lock() mutex.Lock()
alreadyCloned++ alreadyCloned++
mutex.Unlock() mutex.Unlock()
wg.Done()
continue
} else if err == git.ErrRepositoryNotExists { } else if err == git.ErrRepositoryNotExists {
log.Printf("attempting clone: %s\n", repo) log.Printf("attempting clone: %s\n", repo.Path)
_, err = git.PlainClone(repo.Path, false, &git.CloneOptions{ _, err = git.PlainClone(repo.Path, false, &git.CloneOptions{
URL: repo.Remote, URL: repo.Remote,
}) })
@@ -73,10 +75,12 @@ var (
} }
}() }()
} }
fmt.Println(len(conf.Repos))
for _, repo := range conf.Repos { for _, repo := range conf.Repos {
repoChan <- repo repoChan <- repo
} }
close(repoChan) close(repoChan)
fmt.Println("waiting...")
wg.Wait() wg.Wait()
for _, err := range errs { for _, err := range errs {
log.Printf("error pulling %s: %s\n", err.Repo, err.Error) log.Printf("error pulling %s: %s\n", err.Repo, err.Error)