pub struct NativeGitPlugin;Expand description
Native git-object handler.
Implementations§
Trait Implementations§
Source§impl ArchiveTypePlugin for NativeGitPlugin
impl ArchiveTypePlugin for NativeGitPlugin
Source§fn matches_path(&self, path: &str) -> bool
fn matches_path(&self, path: &str) -> bool
A git archive’s entries are either oids — the whole relative_path
is 40 or 64 lowercase hex characters — or the packs of a repository’s
cold tier, pack-<id>.pack / pack-<id>.idx.
Both are the same ecosystem and so belong to one handler (P-1). Which of
the two an archive holds is not a variant of the format: it is what the
writer had. gunnar’s repack() produces a consolidated pack and seals
that, because a pack preserves the pushing client’s own deflate and its
delta chains, and an inflated per-oid tier destroys both permanently.
Source§fn meta(&self) -> HandlerMeta
fn meta(&self) -> HandlerMeta
Discovery metadata — name, aliases, type_id, claimed extensions and the
per-handler subcommand “API”. Used by the registry to list and select
handlers at runtime. The default derives a minimal record from
Self::name / Self::type_id; native handlers override it with a
richer record (aliases, ecosystem, extensions, commands).Source§fn run_command(&self, cmd: &str, args: &[String]) -> Result<()>
fn run_command(&self, cmd: &str, args: &[String]) -> Result<()>
Dispatch a handler-specific subcommand (one of
HandlerMeta::commands).
Default: the handler exposes no extra subcommands.Source§fn schema_fields(&self) -> Vec<Field>
fn schema_fields(&self) -> Vec<Field>
The Arrow columns this module contributes to the index. The writer composes the
on-disk schema as
base columns + pkg_type + these fields. Each Field’s name must
match the key the plugin uses in ExtensionRow::fields. Default: no columns.Source§fn extract_metadata(&self, path: &str, data: &[u8]) -> Option<ExtensionRow>
fn extract_metadata(&self, path: &str, data: &[u8]) -> Option<ExtensionRow>
Per-file extraction. Return None to skip.
Source§fn supports_batch(&self) -> bool
fn supports_batch(&self) -> bool
Whether this plugin benefits from batched processing.
Source§fn batch_threshold(&self) -> usize
fn batch_threshold(&self) -> usize
Byte threshold to trigger batch flush (default 200MB).
Source§fn extract_batch(&self, items: &[BatchItem<'_>]) -> Vec<Option<ExtensionRow>>
fn extract_batch(&self, items: &[BatchItem<'_>]) -> Vec<Option<ExtensionRow>>
Batch extraction — process many files at once (zero-copy borrows).
Returns one Option per input item, in same order.
Auto Trait Implementations§
impl Freeze for NativeGitPlugin
impl RefUnwindSafe for NativeGitPlugin
impl Send for NativeGitPlugin
impl Sync for NativeGitPlugin
impl Unpin for NativeGitPlugin
impl UnsafeUnpin for NativeGitPlugin
impl UnwindSafe for NativeGitPlugin
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more