Add logging and partial remove
This commit is contained in:
29
main.go
29
main.go
@@ -337,7 +337,12 @@ func unlinkCmd(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 {
|
||||
return err
|
||||
}
|
||||
@@ -364,15 +369,33 @@ func removeCmd(args []string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
if flags.dryRun {
|
||||
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 {
|
||||
@@ -713,6 +736,7 @@ func removeLinks(paths []string, dryRun bool) error {
|
||||
if err := os.Remove(path); err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Printf("removed %s\n", path)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -818,6 +842,7 @@ func restoreOne(sourcePath, targetPath, filesAbs string, dryRun bool) error {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Printf("restored %s\n", targetPath)
|
||||
return copyFile(sourcePath, targetPath)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user