• Bug#1100098: ITP: golang-github-yalue-merged-fs -- compose Multiple Go

    From Thomas Goirand@21:1/5 to All on Tue Mar 11 12:40:01 2025
    XPost: linux.debian.devel

    Package: wnpp
    Severity: wishlist
    Owner: Thomas Goirand <zigo@debian.org>
    X-Debbugs-Cc: debian-devel@lists.debian.org

    * Package name : golang-github-yalue-merged-fs
    Version : 1.3.0
    Upstream Contact: Nathan Otterness
    * URL : https://github.com/yalue/merged_fs
    * License : Expat
    Programming Lang: Go
    Description : compose Multiple Go Filesystems

    The [release of version 1.16](https://golang.org/doc/go1.16) of the Go
    programming language included a standard interface for read-only filesystems,
    defined in Go's `io/fs` standard library package. With this change came some
    other standard-library changes, including the fact that `archive/zip` now
    provides a "filesystem" interface for zip files, or the ability of `net/http`
    to serve files from any filesystem providing the `io/fs` interface. In
    conjunction, this means utilities like the HTTP server can now directly serve
    content from zip files, without the data needing to be extracted manually.
    .
    While that's already pretty cool, wouldn't it be nice if you could, for
    example, transparently serve data from multiple zip files as if they were a
    single directory? This library provides the means to do so: it implements the
    `io/fs.FS` interface using two underlying filesystems. The underlying
    filesystems can even include additional `MergedFS` instances, enabling
    combining an arbitrary number of filesystems into a single `io/fs.FS`.
    .
    This repository provides a roughly similar function to [laher/mergefs](https://github.com/laher/mergefs),
    but it offers one key distinction: correctly listing contents of merged
    directories present in both FS's. This adds quite a bit of complexity. However,
    laher/mergefs will be more performant for filesystems not requiring directory-
    listing capabilities.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)