Add logging and partial remove

This commit is contained in:
2026-02-19 17:09:44 +00:00
parent 6f2be07272
commit 3b404abd74

31
main.go
View File

@@ -337,7 +337,12 @@ func unlinkCmd(args []string) error {
} }
func removeCmd(args []string) error { func removeCmd(args []string) error {
flags, pkgName, err := parsePackageFlags(args) flags, pkgSpec, err := parsePackageFlags(args)
if err != nil {
return err
}
pkgName, relPath, err := splitPackageSpec(pkgSpec)
if err != nil { if err != nil {
return err return err
} }
@@ -364,7 +369,21 @@ func removeCmd(args []string) error {
return err return err
} }
if err := restorePackage(filesDir, targetRoot, flags.dryRun); err != nil { if relPath == "" {
if err := restorePackage(filesDir, targetRoot, flags.dryRun); err != nil {
return err
}
if flags.dryRun {
return nil
}
if err := os.RemoveAll(pkgDir); err != nil {
return err
}
fmt.Printf("removed package %s\n", pkgName)
return nil
}
if err := restorePath(filesDir, targetRoot, relPath, flags.dryRun); err != nil {
return err return err
} }
@@ -372,7 +391,11 @@ func removeCmd(args []string) error {
return nil return nil
} }
return os.RemoveAll(pkgDir) if err := os.RemoveAll(filepath.Join(filesDir, relPath)); err != nil {
return err
}
fmt.Printf("removed %s:%s\n", pkgName, relPath)
return nil
} }
func applyPackage(filesDir, targetRoot string) error { func applyPackage(filesDir, targetRoot string) error {
@@ -713,6 +736,7 @@ func removeLinks(paths []string, dryRun bool) error {
if err := os.Remove(path); err != nil { if err := os.Remove(path); err != nil {
return err return err
} }
fmt.Printf("removed %s\n", path)
} }
return nil return nil
} }
@@ -818,6 +842,7 @@ func restoreOne(sourcePath, targetPath, filesAbs string, dryRun bool) error {
return err return err
} }
fmt.Printf("restored %s\n", targetPath)
return copyFile(sourcePath, targetPath) return copyFile(sourcePath, targetPath)
} }