From: John Keeping Date: Sun, 09 Jun 2013 15:12:35 GMT Subject: Re: [PATCH] build: get rid of the notion of a git library Message-ID: <20130609151235.GA22905@serenity.lan> In-Reply-To: On Sun, Jun 09, 2013 at 08:26:32PM +0530, Ramkumar Ramachandra wrote: > Felipe Contreras wrote: > > The plan is simple; make libgit.a a proper library, starting by > > clarifying what goes into libgit.a, and what doesn't. If there's any > > hopes of ever having a public library, it's clear what code doesn't > > belong in libgit.a; code that is meant for builtins, that code belongs > > in builtins/lib.a, or similar. > > > > Give this a try: > > > > --- a/sequencer.c > > +++ b/sequencer.c > > > > libgit.a(sequencer.o): In function `copy_notes': > > /home/felipec/dev/git/sequencer.c:110: undefined reference to > > `init_copy_notes_for_rewrite' > > /home/felipec/dev/git/sequencer.c:114: undefined reference to > > `finish_copy_notes_for_rewrite' > > This is a good example: yes, I'm convinced that the code does need to > be reorganized. Please resend your {sequencer.c -> > builtin/sequencer.c} patch with this example as the rationale, and > let's work towards improving libgit.a. Why should sequencer.c move into builtin/ to solve this? Why not pull init_copy_notes_for_rewrite and finish_copy_notes_for_rewrite up into notes.c?