1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-30 21:28:05 +11:00
collapseos/tools/cfspack/README.md
Virgil Dupras 5d33d165a2 cfspack: allow multiple patterns and multiple paths in args
Also, always end the CFS chain with a stop block.

fixes #55 #56 #57
2019-12-11 21:08:46 -05:00

34 lines
1.0 KiB
Markdown

# cfspack
A tool/library to pack files into a CFS blob and unpack a CFS blob into
a directory.
## Usage
To pack a directory into a CFS blob, run:
cfspack /path/to/directory
The blob is spit to stdout. If there are subdirectories, they will be prefixes
to the filenames under it.
`cfspack` takes optional -p pattern arguments. If specified, only files
matching at least one of the patterns ("fnmatch" style") will be included.
If path is a file, a CFS with a single file will be spit and its name will
exclude the directory part of that filename.
The chain being spitted is always ended with a "stop block" (a zero-allocation
block that stops the CFS chain). You can call `cfspack` with no argument to get
only a stop block.
The program errors out if a file name is too long (> 26 bytes) or too big
(> 0x10000 - 0x20 bytes).
To unpack a blob to a directory:
cfsunpack /path/to/dest < blob
If destination exists, files are created alongside existing ones. If a file to
unpack already exists, it is overwritten.