moby--moby/pkg/archive
Cory Snider 098a44c07f Finish refactor of UID/GID usage to a new struct
Finish the refactor which was partially completed with commit
34536c498d, passing around IdentityMapping structs instead of pairs of
[]IDMap slices.

Existing code which uses []IDMap relies on zero-valued fields to be
valid, empty mappings. So in order to successfully finish the
refactoring without introducing bugs, their replacement therefore also
needs to have a useful zero value which represents an empty mapping.
Change IdentityMapping to be a pass-by-value type so that there are no
nil pointers to worry about.

The functionality provided by the deprecated NewIDMappingsFromMaps
function is required by unit tests to to construct arbitrary
IdentityMapping values. And the daemon will always need to access the
mappings to pass them to the Linux kernel. Accommodate these use cases
by exporting the struct fields instead. BuildKit currently depends on
the UIDs and GIDs methods so we cannot get rid of them yet.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-03-14 16:28:57 -04:00
..
testdata
README.md
archive.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
archive_linux.go pkg/archive: audit gosec file-traversal lints 2022-02-18 15:42:22 -05:00
archive_linux_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
archive_other.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
archive_test.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
archive_unix.go Remove local fork of archive/tar package 2022-02-18 13:40:19 -05:00
archive_unix_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
archive_windows.go pkg/archive: normalize comment formatting 2019-11-27 15:38:49 +01:00
archive_windows_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
changes.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
changes_linux.go Update overlay2 to use naive diff for changes 2018-06-20 11:07:36 -07:00
changes_other.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
changes_posix_test.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
changes_test.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
changes_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
changes_windows.go pkg/archive fixes, and port most unit tests to Windows 2018-11-26 10:20:40 -08:00
copy.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
copy_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
copy_unix_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
copy_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
diff.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
diff_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
example_changes.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
time_linux.go Various code-cleanup 2018-05-23 17:50:54 +02:00
time_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
utils_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
whiteouts.go Add canonical import comment 2018-02-05 16:51:57 -05:00
wrap.go Add canonical import comment 2018-02-05 16:51:57 -05:00
wrap_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00

README.md

This code provides helper functions for dealing with archive files.