Skip to main content

new_pointer_objects

Function new_pointer_objects 

Source
pub fn new_pointer_objects(
    database: &ObjectDatabase,
    format: ObjectFormat,
    include: &[Vec<u8>],
    stop: &[Vec<u8>],
    budget: Duration,
) -> Option<Vec<String>>
Expand description

What: The names of the LFS objects that the commits reachable from include and not from stop introduce, sorted, or None when the readers cannot answer. Why: The walk follows parents from the tips and does not cross a commit named in stop. A pointer counts when its blob is not what a parent holds at the same path, for every parent of a merge, so an object that exists anywhere in the pushed history is found once. A root commit is compared with an empty tree. Every blob read is decoded like git-lfs decodes it (lfs_pointer); a read that fails, a malformed tree, a missing parent (a shallow clone) or a walk past MAX_COMMITS or SCAN_BUDGET declines.

In TS you’d write (pseudocode):

function newPointerObjects(odb, format, include: Uint8Array[], stop: Uint8Array[]): string[] | undefined;