From dc6dadcfc99613a83aa40aa241c9fe980f4b14fe Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 11 Oct 2011 14:39:39 +0400 Subject: [PATCH] Create patch from shelf when target file is not under VCS any more -> NPE http://ea.jetbrains.com/browser/ea_reports/300271 --- .../changes/patch/CreatePatchCommitExecutor.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/CreatePatchCommitExecutor.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/CreatePatchCommitExecutor.java index 567639054189..e286b507b875 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/CreatePatchCommitExecutor.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/CreatePatchCommitExecutor.java @@ -136,12 +136,16 @@ public class CreatePatchCommitExecutor implements CommitExecutorWithHelp, Projec } myPanel.setFileName(ShelveChangesManager.suggestPatchName(myProject, commitMessage, new File(PATCH_PATH), null)); myPanel.setReversePatch(REVERSE_PATCH); + boolean dvcsIsUsed = false; - for (Change change : changes) { - final AbstractVcs vcs = ChangesUtil.getVcsForChange(change, myProject); - if (VcsType.distibuted.equals(vcs.getType())) { - dvcsIsUsed = true; - break; + + if (ProjectLevelVcsManager.getInstance(myProject).dvcsUsedInProject()) { + for (Change change : changes) { + final AbstractVcs vcs = ChangesUtil.getVcsForChange(change, myProject); + if (vcs != null && VcsType.distibuted.equals(vcs.getType())) { + dvcsIsUsed = true; + break; + } } } final List modified = new ArrayList();