public void minus(Pair<String, AbstractVcs> pair) { final AbstractVcs vcs = pair.getSecond(); if (RemoteDifferenceStrategy.ASK_TREE_PROVIDER.equals(vcs.getRemoteDifferenceStrategy())) { myRemoteRevisionsStateCache.minus(pair); } else { myRemoteRevisionsNumbersCache.minus(pair); } }
/** @return false if not up to date */ public boolean isUpToDate(final Change change) { final AbstractVcs vcs = ChangesUtil.getVcsForChange(change, myProject); if (vcs == null) return true; final RemoteDifferenceStrategy strategy = vcs.getRemoteDifferenceStrategy(); if (RemoteDifferenceStrategy.ASK_TREE_PROVIDER.equals(strategy)) { return myRemoteRevisionsStateCache.isUpToDate(change); } else { return myRemoteRevisionsNumbersCache.isUpToDate(change); } }
private void updateRoots() { final VcsRoot[] roots = myVcsManager.getAllVcsRoots(); synchronized (myLock) { for (VcsRoot root : roots) { final AbstractVcs vcs = root.getVcs(); if (!myKinds.containsKey(vcs.getName())) { myKinds.put(vcs.getName(), vcs.getRemoteDifferenceStrategy()); } } } }