From c3f0077e2f3f7c975451efc22701d723247b7ae5 Mon Sep 17 00:00:00 2001 From: physcrowley <53307335+physcrowley@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:49:39 -0500 Subject: [PATCH 1/2] filter directories in pull command to eliminate files in parent folder --- cmd/gh-classroom/pull/student-repos/student-repos.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/gh-classroom/pull/student-repos/student-repos.go b/cmd/gh-classroom/pull/student-repos/student-repos.go index 0f8281e..bac611a 100644 --- a/cmd/gh-classroom/pull/student-repos/student-repos.go +++ b/cmd/gh-classroom/pull/student-repos/student-repos.go @@ -71,11 +71,19 @@ func NewCmdStudentReposPull(f *cmdutil.Factory) *cobra.Command { log.Fatal(err) } - entries, err := os.ReadDir(fullPath) + all_entries, err := os.ReadDir(fullPath) if err != nil { log.Fatal(err) } + //filter entries to only directories + var entries []os.DirEntry + for _, r := range all_entries { + if r.IsDir() { + entries = append(entries, r) + } + } + for _, r := range entries { clonePath := filepath.Join(fullPath, r.Name()) fmt.Printf("Pulling repo: %v\n", clonePath) From 4e5483f51d3b21268f526b2a7ae66b70254fd4f0 Mon Sep 17 00:00:00 2001 From: physcrowley <53307335+physcrowley@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:01:56 -0500 Subject: [PATCH 2/2] added guard clause instead of extra loop --- .../pull/student-repos/student-repos.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/cmd/gh-classroom/pull/student-repos/student-repos.go b/cmd/gh-classroom/pull/student-repos/student-repos.go index bac611a..64b9fc6 100644 --- a/cmd/gh-classroom/pull/student-repos/student-repos.go +++ b/cmd/gh-classroom/pull/student-repos/student-repos.go @@ -71,20 +71,15 @@ func NewCmdStudentReposPull(f *cmdutil.Factory) *cobra.Command { log.Fatal(err) } - all_entries, err := os.ReadDir(fullPath) + entries, err := os.ReadDir(fullPath) if err != nil { log.Fatal(err) } - //filter entries to only directories - var entries []os.DirEntry - for _, r := range all_entries { - if r.IsDir() { - entries = append(entries, r) - } - } - for _, r := range entries { + if !r.IsDir() { + continue + } clonePath := filepath.Join(fullPath, r.Name()) fmt.Printf("Pulling repo: %v\n", clonePath) err = os.Chdir(clonePath)