From: Robin Rosenberg Date: Thu, 10 Jul 2008 22:39:33 GMT Subject: [EGIT PATCH 6/6] Add actions in history view to perform reset actions Message-ID: <1215729573-26536-7-git-send-email-robin.rosenberg@dewire.com> In-Reply-To: <1215729573-26536-6-git-send-email-robin.rosenberg@dewire.com> Soft, mixed and hard reset supported Signed-off-by: Robin Rosenberg --- org.spearce.egit.ui/plugin.xml | 43 +++++++++++--------- .../actions/HardResetToRevisionAction.java | 26 ++++++++++++ .../actions/MixedResetToRevisionAction.java | 26 ++++++++++++ .../actions/SoftResetToRevisionAction.java | 26 ++++++++++++ 4 files changed, 102 insertions(+), 19 deletions(-) create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/HardResetToRevisionAction.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/MixedResetToRevisionAction.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/SoftResetToRevisionAction.java diff --git a/org.spearce.egit.ui/plugin.xml b/org.spearce.egit.ui/plugin.xml index 924c6e5..cfd4b80 100644 --- a/org.spearce.egit.ui/plugin.xml +++ b/org.spearce.egit.ui/plugin.xml @@ -97,29 +97,34 @@ menubarPath="team.main/group1" tooltip="%CommitAction_tooltip"/> - + + class="org.spearce.egit.ui.internal.actions.SoftResetToRevisionAction" + id="org.spearce.egit.ui.softresettorevision" + label="Soft Reset" + menubarPath="additions" + enablesFor="1" + tooltip="Resets HEAD but not working directory nor index"> - - + class="org.spearce.egit.ui.internal.actions.MixedResetToRevisionAction" + id="org.spearce.egit.ui.mixedresettorevision" + label="Mixed Reset" + menubarPath="additions" + enablesFor="1" + tooltip="Resets HEAD and index, but not working directory"> - + + + + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * See LICENSE for the full license text, also available. + *******************************************************************************/ +package org.spearce.egit.ui.internal.actions; + +import java.util.List; + +import org.eclipse.core.resources.IWorkspaceRunnable; +import org.eclipse.jface.action.IAction; +import org.spearce.egit.core.op.ResetOperation; + +/** + * Hard reset to selected revision + */ +public class HardResetToRevisionAction extends AbstractRevObjectAction { + + @Override + protected IWorkspaceRunnable createOperation(IAction act, List selection) { + return new ResetOperation(getActiveRepository(), selection.get(0) + .toString(), ResetOperation.ResetType.HARD); + } +} diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/MixedResetToRevisionAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/MixedResetToRevisionAction.java new file mode 100644 index 0000000..6e4a9bf --- /dev/null +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/MixedResetToRevisionAction.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (C) 2008, Robin Rosenberg + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * See LICENSE for the full license text, also available. + *******************************************************************************/ +package org.spearce.egit.ui.internal.actions; + +import java.util.List; + +import org.eclipse.core.resources.IWorkspaceRunnable; +import org.eclipse.jface.action.IAction; +import org.spearce.egit.core.op.ResetOperation; + +/** + * Mixed reset to selected revision + */ +public class MixedResetToRevisionAction extends AbstractRevObjectAction { + + @Override + protected IWorkspaceRunnable createOperation(IAction act, List selection) { + return new ResetOperation(getActiveRepository(), selection.get(0) + .toString(), ResetOperation.ResetType.MIXED); + } +} diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/SoftResetToRevisionAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/SoftResetToRevisionAction.java new file mode 100644 index 0000000..7abbc92 --- /dev/null +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/SoftResetToRevisionAction.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (C) 2008, Robin Rosenberg + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * See LICENSE for the full license text, also available. + *******************************************************************************/ +package org.spearce.egit.ui.internal.actions; + +import java.util.List; + +import org.eclipse.core.resources.IWorkspaceRunnable; +import org.eclipse.jface.action.IAction; +import org.spearce.egit.core.op.ResetOperation; + +/** + * Soft reset to selected revision + */ +public class SoftResetToRevisionAction extends AbstractRevObjectAction { + + @Override + protected IWorkspaceRunnable createOperation(IAction act, List selection) { + return new ResetOperation(getActiveRepository(), selection.get(0) + .toString(), ResetOperation.ResetType.SOFT); + } +} -- 1.5.6.2.220.g44701