Soft, mixed and hard reset supported Signed-off-by: Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> --- 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"/> </objectContribution> - <objectContribution - id="org.spearce.egit.ui.revobjectContributions" - adaptable="true" - objectClass="org.spearce.jgit.revwalk.RevObject"> + <objectContribution + id="org.spearce.egit.ui.resetto" + objectClass="org.spearce.jgit.revwalk.RevCommit"> <action - class="org.spearce.egit.ui.internal.actions.BranchAction" - id="org.spearce.egit.ui.action1" - label="Kolla" - enablesFor="*" - menubarPath="additions"> + 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"> </action> - </objectContribution> - <viewerContribution - id="org.spearce.egit.ui.viewerContribution1" - targetID="org.spearce.egit.ui.historyPageContributions"> <action - class="org.spearce.egit.ui.internal.actions.ResetAction" - id="org.spearce.egit.ui.action1" - label="Titta" - enablesFor="*" - menubarPath="additions"> + 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"> </action> - </viewerContribution> + <action + class="org.spearce.egit.ui.internal.actions.HardResetToRevisionAction" + id="org.spearce.egit.ui.hardresettorevision" + label="Hard Reset" + menubarPath="additions" + enablesFor="1" + tooltip="Resets HEAD and index, and working directory (changed in tracked files will be lost)"> + </action> + </objectContribution> </extension> <extension diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/HardResetToRevisionAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/HardResetToRevisionAction.java new file mode 100644 index 0000000..78fd87f --- /dev/null +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/HardResetToRevisionAction.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (C) 2008, Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> + * + * 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 <robin.rosenberg@xxxxxxxxxx> + * + * 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 <robin.rosenberg@xxxxxxxxxx> + * + * 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html