From: "Sverre Rabbelier" <alturin@gmail.com>
To: cte <cestreich@gmail.com>
Cc: "Dmitry Potapov" <dpotapov@gmail.com>, git@vger.kernel.org
Subject: Re: linking libgit.a in C++ projects
Date: Thu, 31 Jul 2008 23:51:43 +0200 [thread overview]
Message-ID: <bd6139dc0807311451t763aa07bsf9474fce4073babd@mail.gmail.com> (raw)
In-Reply-To: <ac9f0f090807311444lb2f02e6ud76463b359184fbd@mail.gmail.com>
On Thu, Jul 31, 2008 at 23:44, cte <cestreich@gmail.com> wrote:
> Using output from the command line utilities as an API has its own set
> of problems. For instance, check out some of the difficulties that
> gitk and qgit have had to deal with:
> http://kerneltrap.org/mailarchive/git/2007/11/2/379067.
I beg to differ. If I skimmed the topic correctly, the problems there
were not related to having to parse git's output, but due to the fact
that '--topo-order' is a post-processing operation, which takes long.
Do read the recent discussion between Linus and Roman about that.
> Digging into
> the git internals and reusing its core functions will always be more
> powerful and flexible than parsing command line output.
Sure, but is it worth it? What do you need in your GUI that you cannot
get from the plumbing?
> Of course, it
> is not always easy; git wasn't written to be easily compiled into a
> library and reused (graceful error handling and memory management are
> problematic). But I think the right thing to do is to work towards
> making the awesome git internals easier to use for other developers so
> great tools can continue to be built on top of git.
I do agree with that, libification of git would be really nice.
Especially since that'd mean that integrating it into other languages
(by means of wrappers), such as Python or Ruby, becomes a lot easier.
>> There is, use the plumbing, forward compatibility is 95% assured. With
>> the exception of major releases, for which any plumbing
>> output/behavior changes will be announced in the changelog, usually
>> including an explanation on how to change your code to match.
>
> 95% assured != correct, IMO :)
Why not? Junio has a very good reputation of keeping git backwards
compatible. The 95% is of course not an actual figure but an
expression meant to indicate "statement is true, minus a few rare case
exceptions".
>> In short, use the forc-... errr, plumbing ;).
>>
>> --
>> Cheers,
>>
>> Sverre Rabbelier
>>
It's ok to remove text that you do not respond to, including signatures :P.
--
Cheers,
Sverre Rabbelier
next prev parent reply other threads:[~2008-07-31 21:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-31 9:53 linking libgit.a in C++ projects cte
2008-07-31 10:57 ` Dmitry Potapov
2008-07-31 11:10 ` cte
2008-07-31 11:16 ` Pedro Melo
2008-07-31 11:20 ` Petr Baudis
2008-07-31 11:20 ` cte
2008-07-31 18:27 ` Sverre Rabbelier
2008-07-31 21:44 ` cte
2008-07-31 21:51 ` Sverre Rabbelier [this message]
2008-07-31 21:58 ` Shawn O. Pearce
2008-07-31 22:10 ` Sverre Rabbelier
2008-08-04 14:52 ` Steve Frécinaux
2008-08-01 1:17 ` cte
2008-08-01 1:54 ` Linus Torvalds
2008-08-01 2:12 ` cte
2008-07-31 22:23 ` Dmitry Potapov
2008-07-31 11:14 ` Petr Baudis
2008-07-31 11:18 ` cte
2008-07-31 12:34 ` Dmitry Potapov
2008-07-31 13:04 ` Boaz Harrosh
2008-07-31 14:44 ` Dmitry Potapov
2008-07-31 18:37 ` Alex Riesen
2008-07-31 18:55 ` Avery Pennarun
2008-08-03 20:12 ` Alex Riesen
2008-08-04 8:57 ` Boaz Harrosh
2008-07-31 21:31 ` cte
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bd6139dc0807311451t763aa07bsf9474fce4073babd@mail.gmail.com \
--to=alturin@gmail.com \
--cc=cestreich@gmail.com \
--cc=dpotapov@gmail.com \
--cc=git@vger.kernel.org \
--cc=sverre@rabbelier.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).