From: Andreas Ericsson Date: Sat, 20 Oct 2012 07:58:17 GMT Subject: Re: libgit2 status Message-ID: <50825999.5080208@op5.se> In-Reply-To: <7vvce6i5j2.fsf@alter.siamese.dyndns.org> On 10/19/2012 10:13 PM, Junio C Hamano wrote: > Ramkumar Ramachandra writes: > >> Thiago Farina wrote: >>> [...] >>> With some structure like: >>> >>> include/git.h >>> src/git.c >>> >>> ... >>> >>> whatever. >>> [...] >> >> Junio- is it reasonable to expect the directory-restructuring by 2.0? > > I actually hate "include/git.h vs src/git.c"; you have distinction > between .c and .h already. > Agreed. The way libgit2 does it is to have "src/tag.[ch]", which are for internal use, and then "src/include/tag.h" which is the published version that others can use to write code against the tag library. src/tag.h always includes src/include/tag.h, so no code needs to be duplicated, but internal parts of the library can still use lower- level stuff if it wants to. It's a good compromise when creating a library from application code and there were no opaque types from the start. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace.