From 8b09fd444f18b70e4525acfa664f029de3d5b8bb Mon Sep 17 00:00:00 2001 From: Felicitas Pojtinger Date: Fri, 24 Dec 2021 17:05:05 +0100 Subject: [PATCH] fix: Support GID and UID on Windows --- internal/fs/filesystem.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/fs/filesystem.go b/internal/fs/filesystem.go index 2c34c68..3844b97 100644 --- a/internal/fs/filesystem.go +++ b/internal/fs/filesystem.go @@ -82,12 +82,22 @@ func (f *FileSystem) mknode(dir bool, name string, perm os.FileMode) error { uid, err := strconv.Atoi(usr.Uid) if err != nil { - return err + // Some OSes like i.e. Windows don't support numeric UIDs, so use 0 instead + if err == strconv.ErrSyntax { + uid = 0 + } else { + return err + } } gid, err := strconv.Atoi(usr.Gid) if err != nil { - return err + // Some OSes like i.e. Windows don't support numeric GIDs, so use 0 instead + if err == strconv.ErrSyntax { + gid = 0 + } else { + return err + } } groups, err := usr.GroupIds()