CommittedChangeLists appear in Incoming tab when I expect it to be in Repository tab
Hi,
I am writing a VCS provider for IntelliJ IDEA, and have created a reasonable implementation of the CachingCommittedChangesProvider, but I am not able to populate the Repository tab.
In my CachingCommittedChangesProvider implementation, I was returning a null for getLocationFor method. With that, I was seeing blank Repository and Incoming tabs. Now I return DefaultRepositoryLocation, and I see the CommittedChangeLists in the Incoming tab, whereas I want to see them in the Repository tab.
I have read:
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206786025-need-help-implementing-changes-repository
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206132399--repost-Need-help-activating-Changes-Repository-Incoming-tabs
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206786015-need-help-implementing-changes-repository
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206790765-IncomingChanges
but still can't tell what I am missing.
Help!
Please sign in to leave a comment.
Basically changes obtained from `CachingCommittedChangesProvider` should be displayed in "Repository" view. And to remove unnecessary changes from "Incoming" view you should also implement `DiffProviderEx.getCurrentRevisions()` (and `CachingCommittedChangesProvider.getIncomingFiles()` (for optimization, if necessary) and `CachingCommittedChangesProvider.isChangeLocallyAvailable()` if you haven't already).
Thank you, looks like the cache had got messed up, I deleted it from <USERPROFILE>.IdeaIC14\system\plugins-sandbox\system\vcsCache and it works now!
@Konstantin, all my change lists now appear in the Repository tab, but none in the Incoming tab. When I debug, I see, ChangesCacheFile.loadIncomingChangeListData seems to be checking for a "completelyDownloaded" flag, and I see that's always "true" for me. And looks like the incoming change lists are processed only when "completelyDownloaded" is false. I am sure I have not implemented either the caching or revision number right. What is that I have to do to see some specific ChangeLists in the Incoming tab?
I saw that the ChangesCacheFile.processIncomingChange() was filtering out non local files, and my ContentRevision.getFile() implementation was returning a non local path.