Skip to content
  • Elijah Newren's avatar
    hash-ll.h: split out of hash.h to remove dependency on repository.h · d1cbe1e6
    Elijah Newren authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    hash.h depends upon and includes repository.h, due to the definition and
    use of the_hash_algo (defined as the_repository->hash_algo).  However,
    most headers trying to include hash.h are only interested in the layout
    of the structs like object_id.  Move the parts of hash.h that do not
    depend upon repository.h into a new file hash-ll.h (the "low level"
    parts of hash.h), and adjust other files to use this new header where
    the convenience inline functions aren't needed.
    
    This allows hash.h and object.h to be fairly small, minimal headers.  It
    also exposes a lot of hidden dependencies on both path.h (which was
    brought in by repository.h) and repository.h (which was previously
    implicitly brought in by object.h), so also adjust other files to be
    more explicit about what they depend upon.
    
    Signed-off-by: default avatarElijah Newren <newren@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    d1cbe1e6