Johannes Schindelin wrote:
Hi,
On Thu, 7 Dec 2006, Andreas Ericsson wrote:
Shawn Pearce wrote:
Perhaps there is some fast IPC API supported by Qt that you could use
to run the revision listing outside of the main UI process, to
eliminate the bottlenecks you are seeing and remove the problems noted
above? One that doesn't involve reading from a pipe I mean...
Why not just fork() + exec() and read from the filedescriptor? You can
up the output buffer of the forked program to something suitable, which
means the OS will cache it for you until you copy it to a buffer in qgit
(i.e., read from the descriptor).
Could somebody remind me why different processes are needed? I thought
that the revision machinery should be used directly, by linking to
libgit.a...
You wrote:
--%<--%<--%<--
Because, depending on what you do, the revision machinery is not
reentrable. For example, if you filter by filename, the history is
rewritten in-memory to simulate a history where just that filename was
tracked, and nothing else. These changes are not cleaned up after
calling the internal revision machinery.
--%<--%<--%<--
When I wrote the above suggestion, I hadn't read the posts following the
email where I cut this text from (where Linus said "we can add a 'reset'
thingie to the revision walking machinery" and Marco replied with some
more questions).
--
Andreas Ericsson andreas.ericsson@xxxxxx
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
-
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