Re: Libification project (SoC)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/19/07, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote:
Hi,

On Mon, 19 Mar 2007, Marco Costalba wrote:

> On 3/19/07, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote:
> >
> > I don't see _any_ problem in making an API which works with _one_ repo
> > first. This has several advantages:
> >
> > - most users (if any!) will work that way,
> >
>
> Sometime could be useful to write a list of possible users before
> starting to code.

Fair enough.

I expect the most visible users of libgit to be: the core Git programs!
Because if we don't eat our own dog food, why should anybody else?


But in case you eat your own food, why others should to the same?


And I am absolutely utterly opposed to make them slower just to support a
program which wants to cache meta data from multiple repositories.


The problem, at least with viewers I know, it's not with multiple
repositories but with multiple  views of the same repo.


Anyway. Just to give my two cent:

The two possible features we are talking about are:

 - reentrancy (many views open on the same repo)

 - non-blocking behaviour (loading repo in background)

These two features are _very_ different. I agree an async library it's
not a small thing, and probably it involves using an external thread
library in libgit itself, like pthread, just to not reinventing the
(difficult) wheel.

Regarding reentrancy I don't know what is involved in avoiding globals
and the like, but I would think it's really an absolute minimum to get
people eating your food ;-)

I completely agree that it's impossible to know how a library will be
used when you write it, but giving a good look around before to start
allows you to get a minimum subset of needed features and if you add a
little bit of generalization and you are lucky enough perhaps you will
avoid to rewrite the library in the future.

From the viewers survey and also from the interesting examples of
Steve I would say that do not planning for reentarncy would be a big
no-no

 Marco
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]