VCS: allow Git to report changed on server files comparing the whole tree. !! require...
[fedora-idea.git] / plugins / svn4idea / src / org / jetbrains / idea / svn / StatusWalkerPartnerImpl.java
blob57e4f4d46fc7ee7c5bcd2941dc3ed5f2727ddeda
1 package org.jetbrains.idea.svn;
3 import com.intellij.openapi.progress.ProgressIndicator;
4 import com.intellij.openapi.vcs.changes.ChangeListManager;
5 import com.intellij.openapi.vcs.impl.ExcludedFileIndex;
6 import com.intellij.openapi.vfs.VirtualFile;
7 import org.tmatesoft.svn.core.SVNCancelException;
8 import org.tmatesoft.svn.core.SVNException;
9 import org.tmatesoft.svn.core.wc.ISVNEventHandler;
10 import org.tmatesoft.svn.core.wc.ISVNStatusFileProvider;
11 import org.tmatesoft.svn.core.wc.SVNEvent;
12 import org.tmatesoft.svn.core.wc.SVNStatusClient;
14 public class StatusWalkerPartnerImpl implements StatusWalkerPartner {
15 private final SvnVcs myVcs;
16 private final ChangeListManager myClManager;
17 private final ExcludedFileIndex myExcludedFileIndex;
18 private final ProgressIndicator myIndicator;
19 private ISVNStatusFileProvider myFileProvider;
21 public StatusWalkerPartnerImpl(final SvnVcs vcs, final ProgressIndicator pi) {
22 myVcs = vcs;
23 myClManager = ChangeListManager.getInstance(myVcs.getProject());
24 myExcludedFileIndex = ExcludedFileIndex.getInstance(myVcs.getProject());
25 myIndicator = pi;
28 public void setFileProvider(final ISVNStatusFileProvider fileProvider) {
29 myFileProvider = fileProvider;
32 public SVNStatusClient createStatusClient() {
33 final SVNStatusClient result = myVcs.createStatusClient();
34 result.setFilesProvider(myFileProvider);
35 result.setEventHandler(new ISVNEventHandler() {
36 public void handleEvent(SVNEvent event, double progress) throws SVNException {
40 public void checkCancelled() throws SVNCancelException {
41 if (myIndicator != null) {
42 myIndicator.checkCanceled();
45 });
46 return result;
49 public void checkCanceled() {
50 if (myIndicator != null) {
51 myIndicator.checkCanceled();
55 public boolean isExcluded(VirtualFile vFile) {
56 return myExcludedFileIndex.isExcludedFile(vFile);
59 public boolean isIgnoredIdeaLevel(VirtualFile vFile) {
60 return myClManager.isIgnoredFile(vFile);