Remove pack file handling dependency from wrapper.o
authorJonathan Nieder <jrnieder@gmail.com>
Sat, 6 Nov 2010 19:00:38 +0000 (14:00 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Nov 2010 19:11:07 +0000 (11:11 -0800)
commite0500293852910c2f44fce61e7eb856adbc20d8a
treeae21f4a803f2092986b7db1f74040a0116e22373
parentbc9b21755ebf82d06a60886947bdbd8d0f14baf1
Remove pack file handling dependency from wrapper.o

As v1.7.0-rc0~43 (slim down "git show-index", 2010-01-21) explains,
use of xmalloc() brings in a dependency on zlib, the sha1 lib, and the
rest of git's object file access machinery via try_to_free_pack_memory.
That is overkill when xmalloc is just being used as a convenience
wrapper to exit when no memory is available.

So defer setting try_to_free_pack_memory as try_to_free_routine until
the first packfile is opened in add_packed_git().

After this change, a simple program using xmalloc() and no other
functions will not pull in any code from libgit.a aside from wrapper.o
and usage.o.

Improved-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sha1_file.c
wrapper.c