Add logging and partial remove
This commit is contained in:
31
main.go
31
main.go
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user