TIMEFS(1)

NAME
timefs - mount Git history as a read-only filesystem

SYNOPSIS
timefs [global-options] mount <repo> <mountpoint> [options]
timefs [global-options] unmount <mountpoint>

DESCRIPTION
timefs mounts a Git repository through FUSE and exposes Git trees as ordinary directories. It is strictly read-only: every mutating operation returns EROFS.

The mounted namespace includes:

now/
    The tree at the repository's current HEAD.

at/ An on-demand revision resolver supporting HEAD, HEAD~n, HEAD^, branch names, tag names, and commit hashes.

commits/
    Commit-addressed snapshots by full or abbreviated SHA.

refs/
    Browsable heads, tags, and remotes.

history/<path>/
    Per-commit versions of one file, ordered oldest to newest.

GLOBAL OPTIONS

-v  Log at info level.

-vv Log at debug level.

MOUNT OPTIONS

-f, --foreground
    Run in the foreground.

--allow-other
    Allow users other than the mounter to access the filesystem. Requires user_allow_other in /etc/fuse.conf.

--submodules <placeholder|recurse>
    Control how gitlinks are exposed.

--lfs
    Serve locally available Git LFS object content instead of pointer files.

--ref-snapshot
    Freeze branch, tag, and HEAD resolution at mount time.

--cache-size <MiB>
    Cap the in-memory Git object cache.

--uid <uid>
    Override the reported file owner UID.

--gid <gid>
    Override the reported file owner GID.

EXAMPLES

Mount a repository in the foreground:
    timefs mount ~/code/git /mnt/git -f

Browse an older tree:
    cd /mnt/git/at/HEAD~40

Freeze refs at mount time:
    timefs mount ~/code/linux /mnt/linux --ref-snapshot -f

Unmount:
    timefs unmount /mnt/git

FILES

docs/ARCHITECTURE.md
    Layering and backend design notes.

docs/FUSE_MAPPING.md
    The authoritative Git-to-FUSE mapping.

docs/LIMITATIONS.md
    Current known limits and intentionally unsupported behavior.

EXIT STATUS
0 on success, non-zero on failure.

SEE ALSO
git(1), fusermount3(1)