Shawn Pearce <spearce@xxxxxxxxxxx> wrote: > I think all you may need is: > > #include "revision.h" > ... You'll also need to call: setup_git_directory(); before any of the below; but that should be done once per process. > struct rev_info revs; > init_revisions(&revs, prefix); > revs.abbrev = 0; > revs.commit_format = CMIT_FMT_UNSPECIFIED; > argc = setup_revisions(argc, argv, &revs, NULL); Although now that I think about it the library may not be enough of a library. Some data (e.g. commits) will stay in memory forever once loaded. Pack files won't be released once read; a pack recently made available while the application is running may not get noticed. 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... -- Shawn. - 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