From 4ad132f821b66591f499c746c76b725afe0d64bb Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Tue, 9 Dec 2008 11:51:30 +0000 Subject: [PATCH] Check for directories during import/export of team-shared index database, related to bug 243682. --- .../org/eclipse/cdt/internal/core/pdom/Checksums.java | 2 +- .../cdt/internal/core/pdom/TeamPDOMImportOperation.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/Checksums.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/Checksums.java index 2ffc1d1b915..2af3254f92b 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/Checksums.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/Checksums.java @@ -115,7 +115,7 @@ public class Checksums { IPath location= file.getLocation(); if (location != null) { File f= location.toFile(); - if (f.exists()) { + if (f.isFile()) { try { byte[] checksum= computeChecksum(md, f); putChecksum(result, file, checksum); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/TeamPDOMImportOperation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/TeamPDOMImportOperation.java index 5c6ee24e84f..8622894baf4 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/TeamPDOMImportOperation.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/TeamPDOMImportOperation.java @@ -303,9 +303,14 @@ public class TeamPDOMImportOperation implements IWorkspaceRunnable { IPath location= tu.getLocation(); if (location != null) { try { - byte[] checksum= Checksums.computeChecksum(md, location.toFile()); - if (!Arrays.equals(checksum, cs.fChecksum)) { + final File file = location.toFile(); + if (!file.isFile()) { i.remove(); + } else { + byte[] checksum= Checksums.computeChecksum(md, file); + if (!Arrays.equals(checksum, cs.fChecksum)) { + i.remove(); + } } } catch (IOException e) {