From: Felipe Contreras Date: Mon, 10 Jun 2013 21:52:57 GMT Subject: Re: [PATCH] build: get rid of the notion of a git library Message-ID: In-Reply-To: <20130610214504.GG13333@sigill.intra.peff.net> On Mon, Jun 10, 2013 at 4:45 PM, Jeff King wrote: > That is what libgit.a _is_ now. I do not mean to imply any additional > judgement on what it could be. But if the goal is to make libgit.a > "functions that programs outside git.git would want, and nothing else", > we may want to additionally split out a "libgit-internal.a" consisting > of code that is used by multiple externals in git, but which would not > be appropriate for clients to use. That might make sense, but that still doesn't clarify what belongs in ./*.o, and what belongs in ./builtin/*.o. And right now that creates a mess where you have code shared between ./builtin/*.o that is defined in cache.h (overlay_tree_on_cache), and some in builtin.h (init_copy_notes_for_rewrite). And it's not clear what should be done when code in ./*.o needs to access functionality in ./builtin/*.o, specially if that code is only useful for git builtins, and nothing else. -- Felipe Contreras