diff options
Diffstat (limited to 'isTracked.go')
| -rw-r--r-- | isTracked.go | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/isTracked.go b/isTracked.go deleted file mode 100644 index 414414b..0000000 --- a/isTracked.go +++ /dev/null @@ -1,62 +0,0 @@ -package main - -import ( - "fmt" - "os" - "os/exec" - - "go.wit.com/lib/protobuf/gitpb" -) - -func isTracked(file string) (bool, error) { - cmd := exec.Command("git", "ls-files", "--error-unmatch", file) - err := cmd.Run() - if err == nil { - return true, nil - } - if exitError, ok := err.(*exec.ExitError); ok && exitError.ExitCode() == 1 { - return false, nil // File not tracked - } - return false, fmt.Errorf("error checking tracked status: %v", err) -} - -func isIgnored(file string) (bool, error) { - cmd := exec.Command("git", "check-ignore", "-q", file) - err := cmd.Run() - if err == nil { - return true, nil - } - if exitError, ok := err.(*exec.ExitError); ok && exitError.ExitCode() == 1 { - return false, nil // File not ignored - } - return false, fmt.Errorf("error checking ignored status: %v", err) -} - -func repoIgnoresGoMod(repo *gitpb.Repo) (bool, error) { - os.Chdir(repo.FullPath) - file := "go.mod" - - tracked, err := isTracked(file) - if err != nil { - fmt.Printf("%s Error checking if tracked: %v\n", repo.GoPath, err) - return false, err - } - - if tracked { - fmt.Printf("%s %s is tracked by Git.\n", repo.GoPath, file) - return false, nil - } - - ignored, err := isIgnored(file) - if err != nil { - fmt.Printf("%s Error checking if ignored: %v\n", repo.GoPath, err) - return false, err - } - - if ignored { - fmt.Printf("%s %s is ignored by Git.\n", repo.GoPath, file) - return true, nil - } - fmt.Printf("%s %s is neither tracked nor ignored by Git.\n", repo.GoPath, file) - return false, nil -} |
