fix(Gitignore): swaps rewrite for a BoolVarP so multiple commands can reference it, even if not available as a flag for that command

This commit is contained in:
Lewis Wynne 2025-12-19 13:22:10 +00:00
parent 219cf2e44c
commit 0cb102990b

View file

@ -42,11 +42,6 @@ var vcsGitignoreCmd = &cobra.Command{
return err return err
} }
rewrite, err := cmd.Flags().GetBool("rewrite")
if err != nil {
return err
}
return writeGitignore(repoDir, rewrite) return writeGitignore(repoDir, rewrite)
}, },
} }
@ -182,10 +177,14 @@ var vcsPushCmd = &cobra.Command{
}, },
} }
var (
rewrite bool = false
)
func init() { func init() {
vcsInitCmd.Flags().Bool("clean", false, "Remove existing VCS directory before initialising") vcsInitCmd.Flags().Bool("clean", false, "Remove existing VCS directory before initialising")
vcsCmd.AddCommand(vcsInitCmd) vcsCmd.AddCommand(vcsInitCmd)
vcsGitignoreCmd.Flags().BoolP("rewrite", "r", false, "Rewrite existing .gitignore, if present") vcsGitignoreCmd.Flags().BoolVarP(&rewrite, "rewrite", "r", false, "Rewrite existing .gitignore, if present")
vcsCmd.AddCommand(vcsGitignoreCmd) vcsCmd.AddCommand(vcsGitignoreCmd)
vcsCmd.AddCommand(vcsSnapshotCmd) vcsCmd.AddCommand(vcsSnapshotCmd)
vcsCmd.AddCommand(vcsLogCmd) vcsCmd.AddCommand(vcsLogCmd)
@ -409,11 +408,10 @@ func currentBranch(dir string) (string, error) {
} }
func restoreAllSnapshots(store *Store, repoDir string) error { func restoreAllSnapshots(store *Store, repoDir string) error {
snapDir := filepath.Join(repoDir, "snapshots") entries, err := os.ReadDir(repoDir)
entries, err := os.ReadDir(snapDir)
if err != nil { if err != nil {
if os.IsNotExist(err) { if os.IsNotExist(err) {
return fmt.Errorf("no snapshots directory found") return fmt.Errorf("no repo directory found")
} }
return err return err
} }
@ -425,7 +423,7 @@ func restoreAllSnapshots(store *Store, repoDir string) error {
continue continue
} }
dbName := strings.TrimSuffix(e.Name(), ".ndjson") dbName := strings.TrimSuffix(e.Name(), ".ndjson")
if err := restoreSnapshot(store, filepath.Join(snapDir, e.Name()), dbName); err != nil { if err := restoreSnapshot(store, filepath.Join(repoDir, e.Name()), dbName); err != nil {
return fmt.Errorf("restore %q: %w", dbName, err) return fmt.Errorf("restore %q: %w", dbName, err)
} }
} }