tvix/store/fs: refactor out PathInfoService requirement

#341
Opened by flokli at 2023-12-09T14·51+00

There's no need to make tvix-store/src/fs depend on PathInfoService specifically - it only needs something that can translate from a (base)name in the root to a Node, and something providing a listing.

That doesn't need to be a PathInfoService - looking at https://cl.tvl.fyi/c/depot/+/10235/4/tvix/build/protos/build.proto, each BuildRequest contains a list of inputs, which are Nodes, so it'd be nice if we could just instantiate tvix/store/fs with a closure looking up in that static list, instead of having to seed a "virtual PathInfoService" with the data.

  1. flokli changed the subject of this issue from "tvix/store/fs: refactor out PathInfoService" to "tvix/store/fs: refactor out PathInfoService requirement" at 2023-12-09T14·52+00
  2. Decoupled TvixStoreFs from PathInfoService/StorePath in cl/10363. Next steps:

    • Move it to either tvix-castore or to its own crate.
    • Add an implementation of RootNodes which wraps a map of basename->CA node

    cbrewster at 2023-12-14T21·48+00

  3. Moved the fs code to tvix-castore in cl/10378, allowing to use it without pulling in tvix-store.

    The RootNodes implementation for PathInfoService is left in tvix-store.

    flokli at 2023-12-22T15·21+00

  4. The cl has been merged, this can be closed.

    flokli at 2023-12-22T21·26+00

  5. flokli closed this issue at 2023-12-22T21·26+00