diff options
author | Kevin Sawicki | 2012-02-11 00:52:00 +0000 |
---|---|---|
committer | Matthias Sohn | 2012-02-11 00:52:00 +0000 |
commit | 227df83c0394e3bbc940ad663c9b7fd89407afd2 (patch) | |
tree | 1d64f991033259617954536b1a21f08aa7a45b6f /org.eclipse.egit.ui | |
parent | 7ba9d6beb4d0e3cb8ab100c9a2541773f983b7ec (diff) | |
download | egit-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.java | 12 |
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(); + } } } |