Re: Libification project (SoC)
- From
- Marco Costalba <mcostalba@gmail.com>
- Date
- Mar 16, 2007, 18:38 UTC
- Message-ID
- <e5bfff550703161138x5ab1fe3anf7b2aaab81bb77e4@mail.gmail.com>
- In-Reply-To
- <e5bfff550703161120o4571769eq18c13ae29ac79957@mail.gmail.com>
On 3/16/07, Marco Costalba <mcostalba@gmail.com> wrote:
> > *The most important thing for a libgit to be used by qgit is reentrancy* >
Another crtitical feature is that this call to git-rev-list-like function MUST be non-blocking.
Reading a big repo could take many seconds, also more then 10 seconds in cold cache case for Linux tree, as example. Getting the history of a file ('git rev-list -- /path/to/file) it's also very slow.
There is no way that a GUI tool is allowed to *freeze* for that amount of time. Currently, because an external process is forked when running 'git rev-list' all the problem is happly handled by the kernel scheduler and the QProcess callback mechanism (based on select()). In case of a libified git-rev-list this could be an issue.
Marco