Top | ![]() |
![]() |
![]() |
![]() |
This module provides line change monitoring when used in conjunction with an IdeGitVcs. The changes are generated by comparing the buffer contents to the version found inside of the git repository.
To enable us to avoid blocking the main loop, the actual diff is performed in a background thread. To avoid threading issues with the rest of LibIDE, this module creates a copy of the loaded repository. A single thread will be dispatched for the context and all reload tasks will be performed from that thread.
Upon completion of the diff, the results will be passed back to the primary thread and the state updated for use by line change renderer in the source view.
TODO: Move the thread work into ide_thread_pool?