Skip to content

Commit 4096208

Browse files
committed
include root dir in final zip
1 parent f92bd1d commit 4096208

File tree

3 files changed

+5
-7
lines changed

3 files changed

+5
-7
lines changed

archiver.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,6 @@ func (a *Archiver) walkDir() error {
127127
return err
128128
}
129129

130-
if path == a.chroot {
131-
return nil
132-
}
133-
134130
relativeToRoot, err := filepath.Rel(a.chroot, path)
135131
if err != nil {
136132
return errors.Errorf("ERROR: could not determine relative path of %s", path)
@@ -220,6 +216,7 @@ func (a *Archiver) createHeader(file *pool.File) error {
220216
}
221217

222218
if file.Info.IsDir() {
219+
header.Name += "/"
223220
header.Method = zip.Store
224221
header.Flags &^= 0x8 // won't write data descriptor (crc32, comp, uncomp)
225222
header.UncompressedSize64 = 0

archiver_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func TestArchive(t *testing.T) {
9696
archiveReader := testutils.GetArchiveReader(t, archive.Name())
9797
defer archiveReader.Close()
9898

99-
assert.Equal(t, 3, len(archiveReader.File))
99+
assert.Equal(t, 4, len(archiveReader.File))
100100
})
101101

102102
t.Run("can archive files separately", func(t *testing.T) {
@@ -214,7 +214,7 @@ func TestFileWriter(t *testing.T) {
214214
assertExtendedTimestamp(t, file.Header)
215215
})
216216

217-
t.Run("with no data descriptor directories", func(t *testing.T) {
217+
t.Run("for directories", func(t *testing.T) {
218218
archive, cleanup := testutils.CreateTempArchive(t, archivePath)
219219
defer cleanup()
220220

@@ -226,6 +226,7 @@ func TestFileWriter(t *testing.T) {
226226

227227
archiver.createHeader(&file)
228228

229+
assert.Equal(t, "nested/", file.Header.Name)
229230
assert.Equal(t, zip.Store, file.Header.Method)
230231
assert.Zero(t, file.Header.CRC32)
231232
assert.Equal(t, 0, file.Header.CompressedSize64)

cli_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ func TestCLI(t *testing.T) {
2121
archiveReader := testutils.GetArchiveReader(t, archivePath)
2222
defer archiveReader.Close()
2323

24-
assert.Equal(t, 3, len(archiveReader.File))
24+
assert.Equal(t, 4, len(archiveReader.File))
2525
})
2626
}

0 commit comments

Comments
 (0)