diff --git a/util/afero.go b/util/afero.go index bdbd8f71..7dae15c5 100644 --- a/util/afero.go +++ b/util/afero.go @@ -29,8 +29,15 @@ import ( // FsTree returns a string representation of the file system tree similar to the // well-known `tree` command. func FsTree(fs afero.Fs, name string) (string, error) { - str := ".\n" // top level dir - s, err := stringify(fs, path.Clean(name), []bool{}) + clean := path.Clean(name) + str := clean + "/\n" // named dir + if name == "" { + str = ".\n" // relative dir + } + if name == "/" { + str = "/\n" // root dir + } + s, err := stringify(fs, clean, []bool{}) if err != nil { return "", err } diff --git a/util/afero_test/TestCopyDiskContentsToFs1/simple1.tree b/util/afero_test/TestCopyDiskContentsToFs1/simple1.tree index 2889b3f2..bcf28960 100644 --- a/util/afero_test/TestCopyDiskContentsToFs1/simple1.tree +++ b/util/afero_test/TestCopyDiskContentsToFs1/simple1.tree @@ -1,4 +1,4 @@ -. +/ ├── 1 ├── 2 ├── 3 diff --git a/util/afero_test/TestCopyDiskToFs1/simple1.tree b/util/afero_test/TestCopyDiskToFs1/simple1.tree index f84dbd97..b005227e 100644 --- a/util/afero_test/TestCopyDiskToFs1/simple1.tree +++ b/util/afero_test/TestCopyDiskToFs1/simple1.tree @@ -1,4 +1,4 @@ -. +/ └── simple1/ ├── 1 ├── 2 diff --git a/util/afero_test/TestCopyDiskToFs2/simple1.tree b/util/afero_test/TestCopyDiskToFs2/simple1.tree index 75a93617..8aeab753 100644 --- a/util/afero_test/TestCopyDiskToFs2/simple1.tree +++ b/util/afero_test/TestCopyDiskToFs2/simple1.tree @@ -1,4 +1,4 @@ -. +/ └── dest/ └── simple1/ ├── 1