{"thread":{"id":"22934","subject":"status of libgit.a","startedAt":"2010-03-07T10:27:35Z","lastAt":"2010-03-07T16:36:24Z","messageCount":5,"participants":["Paul Menzel","Miklos Vajna","Dmitry Potapov","Nguyen Thai Ngoc Duy","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"136252","messageId":"1267957655.3759.29.camel@mattotaupa","threadId":"22934","inReplyTo":"20090219092446.23272.qmail@3b5a9fa637f270.315fe32.mid.smarden.org","subject":"status of libgit.a","fromName":"Paul Menzel","fromEmail":"pm.debian@googlemail.com","sentAt":"2010-03-07T10:27:35Z","receivedAt":"2010-03-07T10:27:35Z","isPatch":false,"sender":{"key":"pm.debian@googlemail.com","avatar":null},"body":"Dear Git folks,\n\n\nAm Donnerstag, den 19.02.2009, 09:24 +0000 schrieb Gerrit Pape:\n> On Wed, Feb 18, 2009 at 09:10:02AM -0800, Marc Oscar Singer wrote:\n> > Gerrit Pape wrote:\n\n[…]\n\n> > >It depends on upstream.  Back then, Junio asked to not provide such a\n> > >library package in Debian, and I respect that.  There've been some plans\n> > >and effort to stabilize the lib in the past, but I'm not sure about the\n> > >status.\n> > >  \n> > Would it be a compromise to provide libgit.a as a static library for \n> > until it stabilizes?\n> \n> That's not the compromise, that's the option, I don't know any plans\n> about a shared library.  The git-core-dev package that was available for\n> short included such a static library.\n> \n> You really need to talk to upstream if you want this libgit.a.\n\ncould you please give an update on the status of libgit.a. For example\ncgit still could not be packaged yet for Debian [1] because of this bug\n[2].\n\ncgit is used by a lot of projects out there, so I am wondering if the\ncurrent libgit.a can be released in its current state.\n\nBy the way, is there a web site/page for libgit.a?\n\n\nThanks and sorry if I got something wrong,\n\nPaul\n\n\n[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515793\n[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=407722\n"},{"id":"136313","messageId":"20100307121809.GS27414@genesis.frugalware.org","threadId":"22934","inReplyTo":"1267957655.3759.29.camel@mattotaupa","subject":"Re: status of libgit.a","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2010-03-07T12:18:10Z","receivedAt":"2010-03-07T12:18:10Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Sun, Mar 07, 2010 at 11:27:35AM +0100, Paul Menzel <pm.debian@googlemail.com> wrote:\n> > You really need to talk to upstream if you want this libgit.a.\n> \n> could you please give an update on the status of libgit.a. For example\n> cgit still could not be packaged yet for Debian [1] because of this bug\n> [2].\n> \n> cgit is used by a lot of projects out there, so I am wondering if the\n> current libgit.a can be released in its current state.\n\nlibgit.a is not a public library, so it will never have a stable\nAPI/ABI. There is a libgit2 project which tries to do this, but it's far\nfrom complete:\n\nhttp://repo.or.cz/w/libgit2.git\n\n> By the way, is there a web site/page for libgit.a?\n\nNo, there isn't.\n\nI think the only sane solution is what Fedora does as well:\n\nhttp://cvs.fedoraproject.org/viewvc/devel/cgit/\n\nWhen cgit-1.2.3 is released, have a look at its Makefile, check what Git\nversion does it want and add the relevant Git source to the cgit source\npackage.\n\n[ I remember Debian did not support having multiple upstream sources /\none source package, I hope this is no longer the situation. ;-) ]\n"},{"id":"136338","messageId":"20100307132610.GE31105@dpotapov.dyndns.org","threadId":"22934","inReplyTo":"1267957655.3759.29.camel@mattotaupa","subject":"Re: status of libgit.a","fromName":"Dmitry Potapov","fromEmail":"dpotapov@gmail.com","sentAt":"2010-03-07T13:26:10Z","receivedAt":"2010-03-07T13:26:10Z","isPatch":false,"sender":{"key":"dpotapov@gmail.com","avatar":"https://avatars.githubusercontent.com/u/6568595?v=4"},"body":"On Sun, Mar 07, 2010 at 11:27:35AM +0100, Paul Menzel wrote:\n> \n> could you please give an update on the status of libgit.a. For example\n> cgit still could not be packaged yet for Debian [1] because of this bug\n> [2].\n> \n> cgit is used by a lot of projects out there, so I am wondering if the\n> current libgit.a can be released in its current state.\n> \n> By the way, is there a web site/page for libgit.a?\n\nlibgit.a has never been meant to use outside of Git. It was created just\nto assist with the building process, and there is no clear defined API.\nSo, using libgit.a outside of Git is no different than copying source\nfiles and using them in another project.\n\nAFAIK, there is no plan to create a stable API for the existing libgit.a\nAnother project (libgit2) started some time ago to create a Git library\nwith a stable API, but it does not share much code with Git, and so far\nit provides only basic functionality and has very few contributors, who\nare also busy with other projects. So, in no way it can be considered as\na replacement of existing libgit.a.\n\nOn the other hand, libgit.a includes plumbing functions, which may be\nconsidered as stable API. So, if cgit uses only those functions just to\navoid fork(), it makes sense; but it should be done carefully, because\nlibgit.a can call exit() on error. It may be not a problem for cgit, but\nit is just another reason why libgit.a cannot be considered as a general\npurpose library that provides Git functionality...\n\n\nDmitry\n"},{"id":"136339","messageId":"fcaeb9bf1003070627s39bd9635o9c740eae04f08de5@mail.gmail.com","threadId":"22934","inReplyTo":"20100307121809.GS27414@genesis.frugalware.org","subject":"Re: status of libgit.a","fromName":"Nguyen Thai Ngoc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2010-03-07T14:27:16Z","receivedAt":"2010-03-07T14:27:16Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On 3/7/10, Miklos Vajna <vmiklos@frugalware.org> wrote:\n>  I think the only sane solution is what Fedora does as well:\n>\n>  http://cvs.fedoraproject.org/viewvc/devel/cgit/\n>\n>  When cgit-1.2.3 is released, have a look at its Makefile, check what Git\n>  version does it want and add the relevant Git source to the cgit source\n>  package.\n\nOr bundle cgit with git.git as a subsystem, with Lars as maintainer.\n-- \nDuy\n"},{"id":"136340","messageId":"alpine.DEB.1.00.1003071733440.7596@pacific.mpi-cbg.de","threadId":"22934","inReplyTo":"1267957655.3759.29.camel@mattotaupa","subject":"Re: status of libgit.a","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2010-03-07T16:36:24Z","receivedAt":"2010-03-07T16:36:24Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 7 Mar 2010, Paul Menzel wrote:\n\n> Am Donnerstag, den 19.02.2009, 09:24 +0000 schrieb Gerrit Pape:\n> > On Wed, Feb 18, 2009 at 09:10:02AM -0800, Marc Oscar Singer wrote:\n> > > Gerrit Pape wrote:\n> \n> […]\n> \n> > > >It depends on upstream.  Back then, Junio asked to not provide such \n> > > >a library package in Debian, and I respect that.  There've been \n> > > >some plans and effort to stabilize the lib in the past, but I'm not \n> > > >sure about the status.\n> > > >  \n> > > Would it be a compromise to provide libgit.a as a static library for \n> > > until it stabilizes?\n> > \n> > That's not the compromise, that's the option, I don't know any plans \n> > about a shared library.  The git-core-dev package that was available \n> > for short included such a static library.\n> > \n> > You really need to talk to upstream if you want this libgit.a.\n> \n> could you please give an update on the status of libgit.a.\n\nThere had been some people who worked towards a re-entrant libgit.a (read: \nnon-die()ing in library functions). But there were too many others, so \nthat effort stopped.\n\nThe most likely route for people needing libgit.a would be libgit2:\n\nhttp://git.wiki.kernel.org/index.php/SoC2010Ideas#Complete_libgit2\n\n> For example cgit still could not be packaged yet for Debian [1] because \n> of this bug [2].\n\ncgit should not depend on libgit.a, as it is linked statically anyway.\n\nCiao,\nDscho"}]}