• L
    Start handling references internally as a sorted in-memory list · e1e22e37
    Linus Torvalds 提交于
    This also adds some very rudimentary support for the notion of packed
    refs.  HOWEVER! At this point it isn't used to actually look up a ref
    yet, only for listing them (ie "for_each_ref()" and friends see the
    packed refs, but none of the other single-ref lookup routines).
    
    Note how we keep two separate lists: one for the loose refs, and one for
    the packed refs we read. That's so that we can easily keep the two apart,
    and read only one set or the other (and still always make sure that the
    loose refs take precedence).
    
    [ From this, it's not actually obvious why we'd keep the two separate
      lists, but it's important to have the packed refs on their own list
      later on, when I add support for looking up a single loose one.
    
      For that case, we will want to read _just_ the packed refs in case the
      single-ref lookup fails, yet we may end up needing the other list at
      some point in the future, so keeping them separated is important ]
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    Signed-off-by: NJunio C Hamano <junkio@cox.net>
    e1e22e37
refs.c 14.7 KB