-
Notifications
You must be signed in to change notification settings - Fork 745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
automatic historycache entry removal corrupts incremental history indexing #1701
Comments
Relevant code in
Obviously, changed file is first removed (from the index, xref, history cache) and then re-added. I believe that the cycle on lines 895-897 makes sure that directory traversal is in sync with term traversal. E.g. if I have a repository with files A.txt and B.txt and A.txt is removed, There is also call to Hopefully there is a way how to distinguish the case of data refresh and file removal. |
Curiously, |
The changes for #767 in cset d3dbeac badly interact with incrementally adding history cache entries. I only noticed in indexer logs that each changed file triggers call to both
removeFile()
andaddFile()
inIndexDatabase
. After said changes,removeFile()
deletes history cache for given file.Thus, the indexing now works like this for a changed file:
indexDown()
callsremoveFile()
that removes the history cache for the fileaddFile()
creates the history cache for the file from scratch inpopulateDocument()
Obviously, this increases indexing time dramatically for repositories that support per-directory history.
The text was updated successfully, but these errors were encountered: