alpha
Login
or
Join now
xeiaso.net
/
objgit
Star
10
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Git backed by object storage because you can't stop me
git
object-storage
kefka
Star
10
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
objgit
/
docs
/
at
e8e749fcdff1beb4f1ff294f4d20167db741f641
3 folders
Xe Iaso
feat(s3fs): cache immutable pack files on local disk to fix clone hangs
2mo ago
e1145432
plans
feat(s3fs): cache immutable pack files on local disk to fix clone hangs Serving a clone via upload-pack's delta-compression re-reads pack objects thousands of times. Commit 76bb55d made pack reads lazy to avoid RAM buffering; this causes each access to issue a fresh S3 GetObject, making real-repo clones never finish. Implement PackCache: immutable pack-dir files (.pack/.idx/.rev) download once to a local temp file (LRU-bounded by -pack-cache-bytes, default 2GB) and all reads serve from local disk. Results on real Tigris bucket: - objgit (318 objects, 200KB pack): 8500+ GetObjects → 10, 7s - kefka (197 commits, 19.6MB pack): hang → 14s, full clone The cache is wired into OpenFile and shared across Chroot children like the listing cache. Add flags: -pack-cache-bytes, -pack-cache-dir. See docs/plans/pack-temp-file-cache.md for design. Assisted-by: Claude Opus 4.8 via claude.ai Signed-off-by: Xe Iaso <me@xeiaso.net>
2 months ago
reference
feat(s3fs): add optional Unix-metadata storage as S3 user metadata Store POSIX file attributes (uid, gid, mode, mtime) as x-amz-meta-* headers on S3 objects so POSIX filesystems layered on Tigris can round-trip ownership and permissions instead of always reporting mode 0666 with no owner. The feature is opt-in and off by default: NewS3FS takes functional options, and without WithUnixMetadata the filesystem behaves exactly as before. Callers opt in by passing WithUnixMetadata(uid, gid, umask) and resolve any name strings to numeric IDs themselves. New unixmeta package implements Encode/Decode and PosixMode/GoFileMode conversion; the wire format is documented in docs/reference. Assisted-by: Claude Opus 4.7 via Claude Code Signed-off-by: Xe Iaso <me@xeiaso.net>
2 months ago
usage
test(http): tidy parity-test literals and stale comment
2 months ago