Start handling references internally as a sorted in-memory list
authorLinus Torvalds <torvalds@osdl.org>
Mon, 11 Sep 2006 23:37:32 +0000 (16:37 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 18 Sep 2006 02:09:11 +0000 (19:09 -0700)
commite1e22e37f47e3f4d741d28920e1d27e3775c31ad
treebfecb4750f1bd33a27dbf663001b17597e73cdd2
parent808239a7db1b4c04c5a9edcf9ee33ff33217fad2
Start handling references internally as a sorted in-memory list

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: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
builtin-pack-refs.c [new file with mode: 0644]
builtin.h
git.c
refs.c