# swh.fuse

Date: 2021-07-27 21:02:05 +08:00Date modified: 2021-07-28 00:00:24 +08:00

A tool to interact with the Software Heritage Filesystem (SwhFS); you can see The Software Heritage Filesystem (SwhFS): Integrating Source Code Archival with Development paper for an introduction.

Some details about the tool itself...

- It is mainly used with the `swh fs` subcommand.

- To mount the filesystem itself, use `swh fs mount DIRECTORY`.

When mounted, the directory should have the following structure:

    swhfs
    ├── archive/
    ├── cache/
    ├── origin/
    └── README

- `archive/` is the entry point for the archived repos in the library; the files inside there cannot be listed (e.g., `ls`, file managers) but you can access the files inside of it (e.g., text editors, file openers)

- `cache/` contains on-disk representation of metadata

- `origin/` is where mounting of origins with an encoded URL

For up-to-date information, you can read the `README` file.

With the complete setup, you are now ready to interact with the filesystem. The point of interest here is the `archive/` directory which holds all of the objects in the merkle tree. You can see the model data from their documentation.

You can interact with it by accessing one of the repo through their SWHID.

    ls swhfs/archive/${SWHID}

The tool lazily loads the repo, saving bandwidth and disk space.

## Backlinks

- Software Heritage