diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java index e6eb835179c7..732aea6eb056 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java @@ -434,10 +434,7 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD @NotNull private File generateUniqueSchemePatchDir(@NotNull final String defaultName, boolean createResourceDirectory) { - File shelfDir = getShelfResourcesDirectory(); - if (!shelfDir.exists()) { - ChangeListManager.getInstance(myProject).addDirectoryToIgnoreImplicitly(shelfDir.getAbsolutePath()); - } + ignoreShelfDirectoryIfFirstShelf(); String uniqueName = UniqueNameGenerator .generateUniqueName(shortenAndSanitize(defaultName), mySchemeManager.getAllSchemeNames()); File dir = new File(myFileProcessor.getBaseDir(), uniqueName); @@ -448,6 +445,14 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD return dir; } + private void ignoreShelfDirectoryIfFirstShelf() { + File shelfDir = getShelfResourcesDirectory(); + //check that shelf directory wasn't exist before that to ignore it only once + if (!shelfDir.exists()) { + ChangeListManager.getInstance(myProject).addDirectoryToIgnoreImplicitly(shelfDir.getAbsolutePath()); + } + } + @NotNull // for create patch only public static File suggestPatchName(Project project, @NotNull final String commitMessage, final File file, String extension) {