use of com.intellij.openapi.vcs.FilePath in project intellij-community by JetBrains.
the class SvnTestDirtyScopeStateTest method testWhatIsDirty.
@Test
public void testWhatIsDirty() throws Exception {
enableSilentOperation(VcsConfiguration.StandardConfirmation.ADD);
final VcsDirtyScopeManagerImpl vcsDirtyScopeManager = (VcsDirtyScopeManagerImpl) VcsDirtyScopeManager.getInstance(myProject);
final VirtualFile file = createFileInCommand("a.txt", "old content");
final VirtualFile fileB = createFileInCommand("b.txt", "old content");
final VirtualFile fileC = createFileInCommand("c.txt", "old content");
final VirtualFile fileD = createFileInCommand("d.txt", "old content");
final List<FilePath> list = ObjectsConvertor.vf2fp(Arrays.asList(file, fileB, fileC, fileD));
vcsDirtyScopeManager.retrieveScopes();
vcsDirtyScopeManager.changesProcessed();
vcsDirtyScopeManager.fileDirty(file);
vcsDirtyScopeManager.fileDirty(fileB);
final Collection<FilePath> dirty1 = vcsDirtyScopeManager.whatFilesDirty(list);
Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(file)));
Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(fileB)));
Assert.assertTrue(!dirty1.contains(VcsUtil.getFilePath(fileC)));
Assert.assertTrue(!dirty1.contains(VcsUtil.getFilePath(fileD)));
vcsDirtyScopeManager.retrieveScopes();
final Collection<FilePath> dirty2 = vcsDirtyScopeManager.whatFilesDirty(list);
Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(file)));
Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(fileB)));
Assert.assertTrue(!dirty2.contains(VcsUtil.getFilePath(fileC)));
Assert.assertTrue(!dirty2.contains(VcsUtil.getFilePath(fileD)));
vcsDirtyScopeManager.changesProcessed();
final Collection<FilePath> dirty3 = vcsDirtyScopeManager.whatFilesDirty(list);
Assert.assertTrue(!dirty3.contains(VcsUtil.getFilePath(file)));
Assert.assertTrue(!dirty3.contains(VcsUtil.getFilePath(fileB)));
Assert.assertTrue(!dirty3.contains(VcsUtil.getFilePath(fileC)));
Assert.assertTrue(!dirty3.contains(VcsUtil.getFilePath(fileD)));
}
use of com.intellij.openapi.vcs.FilePath in project intellij-community by JetBrains.
the class AutoSvnUpdater method actionPerformed.
@Override
protected void actionPerformed(@NotNull VcsContext context) {
final SvnConfiguration configuration17 = SvnConfiguration.getInstance(myProject);
configuration17.setForceUpdate(false);
configuration17.setUpdateLockOnDemand(false);
configuration17.setUpdateDepth(Depth.INFINITY);
final SvnVcs vcs = SvnVcs.getInstance(myProject);
for (FilePath root : myRoots) {
configureUpdateRootInfo(root, configuration17.getUpdateRootInfo(root.getIOFile(), vcs));
}
super.actionPerformed(context);
}
use of com.intellij.openapi.vcs.FilePath in project intellij-community by JetBrains.
the class UnversionedAndNotTouchedFilesGroupCollector method toFromTo.
private void toFromTo(VirtualFile file) {
FilePath path = VcsUtil.getFilePath(file);
final ThroughRenameInfo info = findToFile(path, null);
if (info != null) {
myFromTo.put(path.getIOFile(), info);
}
}
use of com.intellij.openapi.vcs.FilePath in project intellij-community by JetBrains.
the class UnversionedAndNotTouchedFilesGroupCollector method processChangeImpl.
private void processChangeImpl(final Change change) {
if (change.getAfterRevision() != null) {
final FilePath after = change.getAfterRevision().getFile();
final ThroughRenameInfo info = findToFile(after, change.getBeforeRevision() == null ? null : change.getBeforeRevision().getFile().getIOFile());
if (info != null) {
myFromTo.put(after.getIOFile(), info);
}
}
}
use of com.intellij.openapi.vcs.FilePath in project intellij-community by JetBrains.
the class SvnHistoryProvider method reportAppendableHistory.
public void reportAppendableHistory(FilePath path, final VcsAppendableHistorySessionPartner partner, @Nullable final SVNRevision from, @Nullable final SVNRevision to, final int limit, SVNRevision peg, final boolean forceBackwards) throws VcsException {
FilePath committedPath = path;
Change change = ChangeListManager.getInstance(myVcs.getProject()).getChange(path);
if (change != null) {
final ContentRevision beforeRevision = change.getBeforeRevision();
final ContentRevision afterRevision = change.getAfterRevision();
if (beforeRevision != null && afterRevision != null && !beforeRevision.getFile().equals(afterRevision.getFile()) && afterRevision.getFile().equals(path)) {
committedPath = beforeRevision.getFile();
}
// revision can be VcsRevisionNumber.NULL
if (peg == null && change.getBeforeRevision() != null && change.getBeforeRevision().getRevisionNumber() instanceof SvnRevisionNumber) {
peg = ((SvnRevisionNumber) change.getBeforeRevision().getRevisionNumber()).getRevision();
}
}
boolean showMergeSources = myVcs.getSvnConfiguration().isShowMergeSourcesInAnnotate();
final LogLoader logLoader;
if (path.isNonLocal()) {
logLoader = new RepositoryLoader(myVcs, committedPath, from, to, limit, peg, forceBackwards, showMergeSources);
} else {
logLoader = new LocalLoader(myVcs, committedPath, from, to, limit, peg, showMergeSources);
}
try {
logLoader.preliminary();
} catch (SVNException e) {
throw new VcsException(e);
}
logLoader.check();
if (showMergeSources) {
logLoader.initSupports15();
}
final SvnHistorySession historySession = new SvnHistorySession(myVcs, Collections.emptyList(), committedPath, showMergeSources && Boolean.TRUE.equals(logLoader.mySupport15), null, false, !path.isNonLocal());
final Ref<Boolean> sessionReported = new Ref<>();
final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
if (indicator != null) {
indicator.setText(SvnBundle.message("progress.text2.collecting.history", path.getName()));
}
final Consumer<VcsFileRevision> consumer = vcsFileRevision -> {
if (!Boolean.TRUE.equals(sessionReported.get())) {
partner.reportCreatedEmptySession(historySession);
sessionReported.set(true);
}
partner.acceptRevision(vcsFileRevision);
};
logLoader.setConsumer(consumer);
logLoader.load();
logLoader.check();
}
Aggregations