From 216edb996a870ca4bf071e95dec18efff268913e Mon Sep 17 00:00:00 2001 From: Shaverdova Elena Date: Thu, 2 Feb 2012 17:30:54 +0400 Subject: [PATCH 1/2] WI-8243 File deployment: Sync: Compare by = Timestamp reports files uploaded from project to server as different --- .../platform-api/src/com/intellij/ide/diff/DirDiffSettings.java | 1 + .../vcs-impl/src/com/intellij/openapi/diff/impl/dir/DTree.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java b/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java index d37ccdea1c8a..592607973708 100644 --- a/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java +++ b/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java @@ -38,6 +38,7 @@ public class DirDiffSettings { public boolean showNewOnTarget = true; public boolean showCompareModes = true; public CompareMode compareMode = CompareMode.CONTENT; + public double compareTimestampAccuracy = 0; public boolean showInFrame = true; // in dialog otherwise diff --git a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DTree.java b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DTree.java index fc0aadd8898e..55f79ac29eb4 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DTree.java +++ b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DTree.java @@ -162,7 +162,7 @@ public class DTree { dtype = isEqual(src, trg) ? DType.EQUAL : DType.CHANGED; break; case TIMESTAMP: - dtype = src.getTimeStamp() == trg.getTimeStamp() ? DType.EQUAL : DType.CHANGED; + dtype = Math.abs(src.getTimeStamp() - trg.getTimeStamp()) <= settings.compareTimestampAccuracy ? DType.EQUAL : DType.CHANGED; break; } } From 2b60fe51789b939febe411cde568b08b35e2ad20 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 2 Feb 2012 18:09:56 +0400 Subject: [PATCH 2/2] fix double slash in paths --- .../openapi/vfs/impl/jar/CoreJarVirtualFile.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/core-impl/src/com/intellij/openapi/vfs/impl/jar/CoreJarVirtualFile.java b/platform/core-impl/src/com/intellij/openapi/vfs/impl/jar/CoreJarVirtualFile.java index e0c4af1adc4a..25286f8b820e 100644 --- a/platform/core-impl/src/com/intellij/openapi/vfs/impl/jar/CoreJarVirtualFile.java +++ b/platform/core-impl/src/com/intellij/openapi/vfs/impl/jar/CoreJarVirtualFile.java @@ -58,7 +58,15 @@ public class CoreJarVirtualFile extends VirtualFile { @Override public String getPath() { if (myParent == null) return myHandler.myBasePath + "!/"; - return myParent.getPath() + "/" + myEntry.shortName; + + String parentPath = myParent.getPath(); + StringBuilder answer = new StringBuilder(parentPath.length() + 1 + myEntry.shortName.length()); + if (answer.charAt(answer.length() - 1) != '/') { + answer.append('/'); + } + answer.append(myEntry.shortName); + + return answer.toString(); } @Override