Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Sawicki2012-02-11 00:52:00 +0000
committerMatthias Sohn2012-02-11 00:52:00 +0000
commit227df83c0394e3bbc940ad663c9b7fd89407afd2 (patch)
tree1d64f991033259617954536b1a21f08aa7a45b6f /org.eclipse.egit.ui
parent7ba9d6beb4d0e3cb8ab100c9a2541773f983b7ec (diff)
downloadegit-227df83c0394e3bbc940ad663c9b7fd89407afd2.tar.gz
egit-227df83c0394e3bbc940ad663c9b7fd89407afd2.tar.xz
egit-227df83c0394e3bbc940ad663c9b7fd89407afd2.zip
Delete working directory when removing a submodule repository
Change-Id: Ie93d16e627bd091b111b3441c1d5ef0d0de881db Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
index 314355ea16..4a67bcfd97 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
@@ -34,6 +34,7 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.UIText;
import org.eclipse.egit.ui.internal.repository.tree.RepositoryNode;
+import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNodeType;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.Window;
@@ -210,6 +211,17 @@ public class RemoveCommand extends
FileUtils.delete(repo.getDirectory(),
FileUtils.RECURSIVE | FileUtils.RETRY
| FileUtils.SKIP_MISSING);
+
+ // Delete working directory if a submodule repository and refresh
+ // parent repository
+ if (deleteWorkDir
+ && !repo.isBare()
+ && node.getParent() != null
+ && node.getParent().getType() == RepositoryTreeNodeType.SUBMODULES) {
+ FileUtils.delete(repo.getWorkTree(), FileUtils.RECURSIVE
+ | FileUtils.RETRY | FileUtils.SKIP_MISSING);
+ node.getParent().getRepository().notifyIndexChanged();
+ }
}
}

Back to the top