From 1c491e65409c59bc8b0212c97721b984c1ddbb4d Mon Sep 17 00:00:00 2001 From: Felix Pojtinger Date: Sun, 28 Nov 2021 16:23:43 +0100 Subject: [PATCH] feat: Implement restoring folders --- cmd/stbak/cmd/move.go | 2 +- cmd/stbak/cmd/restore.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/stbak/cmd/move.go b/cmd/stbak/cmd/move.go index e2fe919..addfca0 100644 --- a/cmd/stbak/cmd/move.go +++ b/cmd/stbak/cmd/move.go @@ -66,7 +66,7 @@ var moveCmd = &cobra.Command{ return err } - // Append deletion headers to the tape/tar file + // Append move headers to the tape/tar file for _, dbhdr := range headersToMove { hdr, err := converters.DBHeaderToTarHeader(dbhdr) if err != nil { diff --git a/cmd/stbak/cmd/restore.go b/cmd/stbak/cmd/restore.go index 8f97c12..9b0f6d4 100644 --- a/cmd/stbak/cmd/restore.go +++ b/cmd/stbak/cmd/restore.go @@ -82,6 +82,10 @@ var restoreCmd = &cobra.Command{ dst = filepath.Base(hdr.Name) } + if hdr.Typeflag == tar.TypeDir { + return os.MkdirAll(dst, hdr.FileInfo().Mode()) + } + dstFile, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE, hdr.FileInfo().Mode()) if err != nil { return err