diff --git a/.idea/modules.xml b/.idea/modules.xml index ae36a87dbf69..0322352e9df9 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -198,6 +198,7 @@ + diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index 4761f160a223..b090f7a84dd5 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -262,6 +262,7 @@ binding.setVariable("platformApiModules", [ "structure-view-api", "usageView", "vcs-api", + "vcs-api-core", "vcs-log-api", "vcs-log-graph-api", "xdebugger-api", diff --git a/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java b/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java index bdd9304e9d88..7266e344c72f 100644 --- a/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java +++ b/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java @@ -577,18 +577,6 @@ public class VcsUtil { return files; } - public static boolean caseDiffers(final String s1, final String s2) { - String s1Trimmed = s1.trim(); - String s2Trimmed = s2.trim(); - - if (File.separatorChar != '/') { - s1Trimmed = s1Trimmed.replace(File.separatorChar, '/'); - s2Trimmed = s2Trimmed.replace(File.separatorChar, '/'); - } - - return (! s1Trimmed.equals(s2Trimmed)) && s1Trimmed.equalsIgnoreCase(s2Trimmed); - } - private static final String ANNO_ASPECT = "show.vcs.annotation.aspect."; //public static boolean isAspectAvailableByDefault(LineAnnotationAspect aspect) { // if (aspect.getId() == null) return aspect.isShowByDefault(); diff --git a/platform/vcs-api/src/com/intellij/lifecycle/PeriodicalTasksCloser.java b/platform/vcs-api/vcs-api-core/src/com/intellij/lifecycle/PeriodicalTasksCloser.java similarity index 98% rename from platform/vcs-api/src/com/intellij/lifecycle/PeriodicalTasksCloser.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/lifecycle/PeriodicalTasksCloser.java index bbb4847fbc64..3b6a7ff2a5c6 100644 --- a/platform/vcs-api/src/com/intellij/lifecycle/PeriodicalTasksCloser.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/lifecycle/PeriodicalTasksCloser.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2010 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/FilePath.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/FilePath.java similarity index 98% rename from platform/vcs-api/src/com/intellij/openapi/vcs/FilePath.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/FilePath.java index 90fd92f2e78e..1ca489c0d128 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/FilePath.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/FilePath.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsException.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsException.java similarity index 98% rename from platform/vcs-api/src/com/intellij/openapi/vcs/VcsException.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsException.java index 5a72bfe1fba6..dacf4e654f5f 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsException.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsException.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsKey.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsKey.java similarity index 96% rename from platform/vcs-api/src/com/intellij/openapi/vcs/VcsKey.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsKey.java index f3a507cf8e56..4e2871b3f539 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsKey.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/VcsKey.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/Change.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java similarity index 96% rename from platform/vcs-api/src/com/intellij/openapi/vcs/changes/Change.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java index 8e300bd2a291..b1d8978eea68 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/Change.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ import com.intellij.openapi.vcs.FileStatus; import com.intellij.openapi.vcs.VcsBundle; import com.intellij.openapi.vcs.impl.VcsPathPresenter; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.vcsUtil.VcsUtil; +import com.intellij.vcsUtil.VcsFilePathUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.Nullable; @@ -120,7 +120,8 @@ public class Change { } if ((! Comparing.equal(myBeforeRevision.getFile(), myAfterRevision.getFile())) || - ((! SystemInfo.isFileSystemCaseSensitive) && VcsUtil.caseDiffers(myBeforeRevision.getFile().getPath(), myAfterRevision.getFile().getPath()))) { + ((! SystemInfo.isFileSystemCaseSensitive) && VcsFilePathUtil + .caseDiffers(myBeforeRevision.getFile().getPath(), myAfterRevision.getFile().getPath()))) { myType = Type.MOVED; return myType; } diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ContentRevision.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/ContentRevision.java similarity index 97% rename from platform/vcs-api/src/com/intellij/openapi/vcs/changes/ContentRevision.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/ContentRevision.java index af21b167041f..de5944ac9b3c 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ContentRevision.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/ContentRevision.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/MergeTexts.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java similarity index 96% rename from platform/vcs-api/src/com/intellij/openapi/vcs/changes/MergeTexts.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java index 18423d8ad490..16ed06a00b41 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/MergeTexts.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java similarity index 95% rename from platform/vcs-api/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java index ffcedbb456c2..52bae307b01e 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/LongRevisionNumber.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java similarity index 98% rename from platform/vcs-api/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java index 4647ecac78af..9d5851da6889 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/history/VcsRevisionNumber.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java similarity index 97% rename from platform/vcs-api/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java index b8c239f84a71..9985cf77518f 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/impl/VcsPathPresenter.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/src/com/intellij/vcsUtil/Rethrow.java b/platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/Rethrow.java similarity index 95% rename from platform/vcs-api/src/com/intellij/vcsUtil/Rethrow.java rename to platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/Rethrow.java index dc2e3b9409bd..6c42caaa3126 100644 --- a/platform/vcs-api/src/com/intellij/vcsUtil/Rethrow.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/Rethrow.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2010 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/VcsFilePathUtil.java b/platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/VcsFilePathUtil.java new file mode 100644 index 000000000000..b6992f53ab0c --- /dev/null +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/vcsUtil/VcsFilePathUtil.java @@ -0,0 +1,32 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.vcsUtil; + +import java.io.File; + +public class VcsFilePathUtil { + public static boolean caseDiffers(final String s1, final String s2) { + String s1Trimmed = s1.trim(); + String s2Trimmed = s2.trim(); + + if (File.separatorChar != '/') { + s1Trimmed = s1Trimmed.replace(File.separatorChar, '/'); + s2Trimmed = s2Trimmed.replace(File.separatorChar, '/'); + } + + return (! s1Trimmed.equals(s2Trimmed)) && s1Trimmed.equalsIgnoreCase(s2Trimmed); + } +} diff --git a/platform/vcs-api/vcs-api-core/vcs-api-core.iml b/platform/vcs-api/vcs-api-core/vcs-api-core.iml new file mode 100644 index 000000000000..434160533f3b --- /dev/null +++ b/platform/vcs-api/vcs-api-core/vcs-api-core.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/platform/vcs-api/vcs-api.iml b/platform/vcs-api/vcs-api.iml index 685d664dd28f..d6c7d2eb1b67 100644 --- a/platform/vcs-api/vcs-api.iml +++ b/platform/vcs-api/vcs-api.iml @@ -9,6 +9,7 @@ + diff --git a/platform/vcs-log/api/src/com/intellij/vcs/log/VcsLogSettings.java b/platform/vcs-log/api/src/com/intellij/vcs/log/VcsLogSettings.java index a370379b4d77..f382e23cf480 100644 --- a/platform/vcs-log/api/src/com/intellij/vcs/log/VcsLogSettings.java +++ b/platform/vcs-log/api/src/com/intellij/vcs/log/VcsLogSettings.java @@ -1,10 +1,24 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.intellij.vcs.log; -import com.intellij.openapi.components.StoragePathMacros; /** *

Vcs Log user settings, which may have a UI representation, or be implicitly selected based on user actions.

- *

Most of the settings are workspace-specific, i. e. they are stored in {@link StoragePathMacros#WORKSPACE_FILE workspace.xml}.

+ *

Most of the settings are workspace-specific, i. e. they are stored in {@link com.intellij.openapi.components.StoragePathMacros#WORKSPACE_FILE workspace.xml}.

* * @author Kirill Likhodedov */ diff --git a/platform/vcs-log/api/vcs-log-api.iml b/platform/vcs-log/api/vcs-log-api.iml index bdbe62ba331d..92d746615afa 100644 --- a/platform/vcs-log/api/vcs-log-api.iml +++ b/platform/vcs-log/api/vcs-log-api.iml @@ -10,8 +10,9 @@ - + +
diff --git a/plugins/git4idea/src/git4idea/GitContentRevision.java b/plugins/git4idea/src/git4idea/GitContentRevision.java index 68fcb59febf2..8dd85b167980 100644 --- a/plugins/git4idea/src/git4idea/GitContentRevision.java +++ b/plugins/git4idea/src/git4idea/GitContentRevision.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import com.intellij.openapi.vcs.history.VcsRevisionNumber; import com.intellij.openapi.vcs.impl.ContentRevisionCache; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.vcsUtil.VcsFilePathUtil; import com.intellij.vcsUtil.VcsFileUtil; import com.intellij.vcsUtil.VcsUtil; import git4idea.util.GitFileUtils; @@ -168,7 +169,7 @@ public class GitContentRevision implements ContentRevision { boolean isDeleted, boolean canBeDeleted, boolean unescapePath) throws VcsException { final String absolutePath = makeAbsolutePath(vcsRoot, path, unescapePath); FilePath file = isDeleted ? VcsUtil.getFilePathForDeletedFile(absolutePath, false) : VcsUtil.getFilePath(absolutePath, false); - if (canBeDeleted && (! SystemInfo.isFileSystemCaseSensitive) && VcsUtil.caseDiffers(file.getPath(), absolutePath)) { + if (canBeDeleted && (! SystemInfo.isFileSystemCaseSensitive) && VcsFilePathUtil.caseDiffers(file.getPath(), absolutePath)) { // as for deleted file file = FilePathImpl.createForDeletedFile(new File(absolutePath), false); }