Timofey Solomko
3ed501cdfd
[ZIP] Replace ZipString class with fileprivate extensions to String and Data
2018-08-12 19:28:45 +03:00
Timofey Solomko
b898b433f1
[swcomp] -v is now accepted as an alias for --verbose
2018-08-12 18:57:07 +03:00
Timofey Solomko
f4d664b476
Merge branch 'release-4.4.0' into develop
2018-08-09 22:15:15 +03:00
Timofey Solomko
b5b9b57039
Prepare for 4.4.0 release
2018-08-09 22:13:36 +03:00
Timofey Solomko
160e55d9ce
[TAR] Return a copy of data for entries in open function
...
This is consistent behavior with other containers and solves two problems: non-zero based indices and (probably) keeping entire container data in memory for the data of single entry (for example, all other entries were discarded).
2018-08-09 22:11:00 +03:00
Timofey Solomko
be822cec66
Readme updates: mention 5.0 Update project, add paypal link and link to license file
2018-08-09 00:05:47 +03:00
Timofey Solomko
96c0024f6f
Update benchmark results for 4.4.0
2018-08-08 00:07:11 +03:00
Timofey Solomko
1c5ca3bbe5
Swiflinted before 4.4.0
2018-08-07 21:18:39 +03:00
Timofey Solomko
5c58957209
Disable some opt-in swiftlint rules
2018-08-07 21:18:17 +03:00
Timofey Solomko
b4f8945a3c
Add green tick for TAR-write in README table
2018-08-07 21:05:36 +03:00
Timofey Solomko
24f5bb2777
[docs] Add TarCreateError to Errors category
2018-08-07 21:05:36 +03:00
Timofey Solomko
3790b3acac
[docs] Clarify in docs for ContainerEntry.data that data is assumed to be uncompressed
2018-08-07 21:05:36 +03:00
Timofey Solomko
6d63e02d21
[docs] Add docs to all new TAR-create-related APIs
2018-08-07 21:05:36 +03:00
Timofey Solomko
cc03c48847
[docs] Add docs to TarEntry.data to explain its connection with info.size
2018-08-07 21:05:28 +03:00
Timofey Solomko
6836384a34
[docs] Update TarEntryInfo properties docs to explain how their values influence creation of PAX headers
2018-08-07 21:05:24 +03:00
Timofey Solomko
455a3c9de0
[TAR] Length of ownerUser/GroupName is now taken into account when deciding if creation of PAX header is necessary
2018-08-07 19:01:57 +03:00
Timofey Solomko
bd8562c966
[TAR] Remove unused empty TarExtendedHeader.init()
2018-08-07 19:01:23 +03:00
Timofey Solomko
45fb997f2b
[TAR] info.size is no longer nil when Data is nil
...
This was causing problems with generated containers because size is a "required" field.
2018-08-07 18:31:24 +03:00
Timofey Solomko
0ae4c685c1
[TAR] Use "TarEntryInfo.generateContainerData prefx-runtime-crash-Swift-bug" workaround only on Linux with Swift version less than 4.2
2018-08-06 18:33:28 +03:00
Timofey Solomko
06183c25b6
[swcomp] Fix compilation failure on linux due to __stdoutp being absent there
2018-08-06 17:16:48 +03:00
Timofey Solomko
cc6d82c753
[TAR] Add a workaround for swift runtime crash on linux when creating name prefix
...
For some reason Data.prefix(upTo:).range(of:options:) crashes on linux and doesn't crash on macOS, so I've added a, hopefully, temporary workaround for this problem.
2018-08-05 23:34:23 +03:00
Timofey Solomko
0b84a431d1
[swcomp] Fix compilation failure on linux due to ObjCBool no longer being an alias for Bool
2018-08-05 23:34:23 +03:00
Timofey Solomko
7424bf718a
Prepare for test release of 4.4.0
4.4.0-test
2018-08-05 23:34:22 +03:00
Timofey Solomko
16443fb3a2
Fix CI deploy problems (again)
2018-08-05 23:34:19 +03:00
Timofey Solomko
25d6b80ad8
[docs] Remove "never thrown" note from docs for TarError.wrongField
2018-08-05 13:06:11 +03:00
Timofey Solomko
02f7db0e39
[TAR] TarEntryInfo.size is now never nil (again)
...
This fixes potential force-unwrapping crashes in TarEntryInfoProvider and makes TarError.wrongField being in use again.
2018-08-05 13:05:35 +03:00
Timofey Solomko
384af1cedd
[swcomp] create option of tar command now supports verbose option
2018-08-01 21:23:03 +03:00
Timofey Solomko
fcbe6d76da
[swcomp] Implement create option for tar command
2018-08-01 21:22:25 +03:00
Timofey Solomko
648d6e94b7
[Tests] Add tar create test for big numeric field (in this case, uid)
2018-07-31 21:08:04 +03:00
Timofey Solomko
eb86e8f4b3
[Tests] Add tar create test for negative mtime
2018-07-31 21:07:30 +03:00
Timofey Solomko
1d0af24755
[TAR] Create pax headers if name or linkname cannot fit into tar header
2018-07-31 21:03:49 +03:00
Timofey Solomko
bf96273ea8
[TAR] Apply base-256 encoding to negative values as well
2018-07-31 18:56:18 +03:00
Timofey Solomko
feafb419f5
[Tests] Test creating ustar TAR containers without pax headers
2018-07-31 18:55:56 +03:00
Timofey Solomko
01f727627b
[Tests] Migrate tar ext header tests to tar create tests
2018-07-31 14:15:59 +03:00
Timofey Solomko
0b8965d97f
[Tests] Migrate tests for TarEntryInfo.generteContainerData() into TarContainer.create tests
2018-07-30 22:46:02 +03:00
Timofey Solomko
6477cc63e7
[TAR] Restore info.size being nil for directories
2018-07-30 22:46:02 +03:00
Timofey Solomko
a7e7deeb80
[Tests] Add a simple test for TarContainer.create
2018-07-30 22:45:56 +03:00
Timofey Solomko
4b0a361aea
[TAR] Add ext headers creation to TarContainer.create
2018-07-29 19:25:12 +03:00
Timofey Solomko
d33ae76d85
[TAR] Add initializer to ext header which creates header with only necessary fields
2018-07-29 19:24:19 +03:00
Timofey Solomko
b0be2ab38f
[TAR] Sync TarEntry.data.count and TarEntry.info.size via property observer
2018-07-29 19:23:05 +03:00
Timofey Solomko
52b8a62f93
[TAR] Make TarEntry's info and data var-properties
2018-07-29 19:22:27 +03:00
Timofey Solomko
74b50be568
[TAR] Make TarEntry.init public and add argument labels
2018-07-29 19:21:25 +03:00
Timofey Solomko
dddf29a811
[Tests] Add a couple of tests for tar entry infos with long names
2018-07-29 18:04:32 +03:00
Timofey Solomko
4dda3fe7f5
[Tests] Add a simple test for TarEntryInfo.generateContainerData
2018-07-29 18:04:32 +03:00
Timofey Solomko
9c7937504e
[TAR] Add ustar implementation part of TarEntryInfo.generateContainerData
2018-07-29 18:04:25 +03:00
Timofey Solomko
d3949524a1
[TAR] Add create function to TarContainer
2018-07-29 18:04:24 +03:00
Timofey Solomko
57a87dc1c8
[TAR] Implement TarEntry.generateContainerData()
2018-07-29 18:04:24 +03:00
Timofey Solomko
16e7fc7d44
[TAR] Add pre-POSIX implementation part of TarEntryInfo.generateContainerData()
2018-07-29 18:04:24 +03:00
Timofey Solomko
0281f11a86
[TAR] Add Data extension function which appends string field
2018-07-29 18:04:24 +03:00
Timofey Solomko
40ea63c456
[TAR] Add Data extension which appends numeric field value either in octal or base-256 format
2018-07-29 18:04:24 +03:00