mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 07:57:57 +00:00
549f476c4c
The topics I've covered so far for Linux, package managers, archiving, and learning. I also updated some formatting for other notes especially with the command line references.
48 lines
1.6 KiB
Org Mode
48 lines
1.6 KiB
Org Mode
:PROPERTIES:
|
|
:ID: cf5cadae-e01b-4099-86fe-b0e05bda4d39
|
|
:END:
|
|
#+title: swh.fuse
|
|
#+date: 2021-07-27 21:02:05 +08:00
|
|
#+date_modified: 2021-07-28 00:00:24 +08:00
|
|
#+language: en
|
|
|
|
|
|
A tool to interact with the Software Heritage Filesystem (SwhFS);
|
|
you can see [[id:4703f8c2-225c-4c76-a788-af04b84309ac][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:
|
|
|
|
#+begin_src
|
|
swhfs
|
|
├── archive/
|
|
├── cache/
|
|
├── origin/
|
|
└── README
|
|
#+end_src
|
|
|
|
- =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 [[https://docs.softwareheritage.org/devel/swh-model/data-model.html#data-model][model data]] from their documentation.
|
|
|
|
You can interact with it by accessing one of the repo through their SWHID.
|
|
|
|
#+begin_src shell :eval no
|
|
ls swhfs/archive/${SWHID}
|
|
#+end_src
|
|
|
|
The tool lazily loads the repo, saving bandwidth and disk space.
|