Virtual FS over commits
Dependencies
pub struct Fs {
git_dir : String
base_tree : ObjectId
base_commit : ObjectId?
working : WorkingLayer
layers : Array[Layer]
cache : ObjectCache
config : FsConfig
cached_db : ObjectDb?
cached_promisor_db : PromisorDb?
lazy_mode : Bool
}fn Fs::add_layer_from_commit(self : Fs, backing_fs : &RepoFileSystem, commit_id : ObjectId, name : String) -> Unit raise GitErrorfn Fs::checkout_snapshot(self : Fs, backing_fs : &RepoFileSystem, commit_id : ObjectId) -> Unit raise GitErrorfn Fs::collect_files_bfs(self : Fs, read_fs : &RepoFileSystem, limit : Int) -> Array[String] raise GitErrorfn Fs::flatten_layers(self : Fs, backing_fs : &FileSystem, rfs : &RepoFileSystem) -> ObjectId raise GitErrorfn Fs::from_branch(backing_fs : &RepoFileSystem, git_dir : String, branch : String, config? : FsConfig) -> Fs raise GitErrorfn Fs::get_pending_fetches(self : Fs, read_fs : &RepoFileSystem, limit : Int) -> Array[String] raise GitErrorasync fn Fs::prefetch(self : Fs, read_fs : &RepoFileSystem, write_fs : &FileSystem, paths : Array[String]) -> Int raise GitErrorasync fn Fs::prefetch_bfs(self : Fs, read_fs : &RepoFileSystem, write_fs : &FileSystem, limit : Int) -> Int raise GitErrorasync fn Fs::prefetch_glob(self : Fs, read_fs : &RepoFileSystem, write_fs : &FileSystem, pattern : String) -> Int raise GitErrorasync fn Fs::read_file_async(self : Fs, read_fs : &RepoFileSystem, write_fs : &FileSystem, path : String) -> Bytes raise GitErrorfn Fs::readdir(self : Fs, backing_fs : &RepoFileSystem, path : String) -> Array[String] raise GitErrorfn Fs::snapshot(self : Fs, backing_fs : &FileSystem, rfs : &RepoFileSystem, message : String, author : String, timestamp : Int64) -> Snapshot raise GitErrorpub struct FsConfig {
max_cache_bytes : Int
max_cache_entries : Int
lazy_load : Bool
enable_promisor : Bool
}fn ObjectCache::set_tree(self : ObjectCache, tree_id : ObjectId, entries : Array[TreeEntry]) -> Unitfn build_tree_from_working(backing_fs : &FileSystem, rfs : &RepoFileSystem, git_dir : String, base_tree : ObjectId, working : WorkingLayer) -> ObjectId raise GitErrorVirtual FS over commits
Dependencies