• Show log

    Commit

  • Hash : ad7a51d8
    Author : Colin Stolley
    Date : 2021-10-07T13:26:52

    refs: Speed up packed lookups.
    
    Currently ref lookups require loading the entire packed-refs file into
    a hashmap in memory. For repos with large numbers of refs this can be
    painfully slow.
    
    This patch replaces the existing lookup code and instead mmap()'s the
    packed-refs file and performs a binary search to locate the ref entry.
    Git uses a similiar approach.
    
    The old hash table codepath is still used for unsorted packed-refs files.
    
    This patch also fixes a minor bug where the "peeled" trait is never
    parsed correctly from the packed-refs header.