I would say that it works much better with https://git.reviewboard.kde.org/r/106567/ applied :)

On September 28th, 2012, 9:50 p.m., Eugene Shalygin wrote:

Michel,
I see that commit 56f4e5bf9bc98c1ae0b948dd0568cbb66a5bbec7 does not include adding of source(false) to dependencies in LaTeX::updateBibs(). Why it is so? Suppose we have a project with single .tex file. The allDependencies() returns empty list. At least it was in my tests. This is not correct, do you agree? Master document must be included in time checks. That is why I was adding source(). Am I right?

'Info::lastModifiedFile' will always consider its own time stamp as well; so, there's no need to add it to the dependencies list.

- Michel

On September 27th, 2012, 8:37 p.m., Eugene Shalygin wrote:

Review request for Kile and Michel Ludwig.

By Eugene Shalygin.

Updated Sept. 27, 2012, 8:37 p.m.

Description

Kile rerun bibtool every time the user changes some .tex file. This is not a problem on itself, but then it reruns latex. And latex run might take a long time.
The patch tries to eliminate bibtool (and thus latex) runs under some conditions.
It suppose that we run bibtool only in the following cases:
1. Biblatex said that we have to (in this case bibToolInLaTexOutput is not empty)
2. At least one of the .bib has modification date younger then .bbl file
3. We have undefined citations and any of source files (including .bib and .tex) is younger then .bbl. If .bbl file is younger then all of them, then next generation will not change anything
To achive that, it adds check for "undefined citation" latex message and changes LaTeX::updateBibs() in a way that allows to check only bib ddependencies or all dependencies.
Also, it filters biblatex rerun messages when citation is missing in the database: there is no need to just rerun latex, it will not change anything. Before Kile was launching latex 3 times in a row without any effect.