git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[EGIT PATCH 6/6] Add actions in history view to perform reset actions

From
Robin Rosenberg <robin.rosenberg@dewire.com>
Date
Jul 10, 2008, 22:39 UTC
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 <robin.rosenberg@dewire.com>
---
 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@dewire.com>
+ *
+ * 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@dewire.com>
+ *
+ * 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@dewire.com>
+ *
+ * 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
Previous: Robin RosenbergNext: Shawn O. Pearce
Message 7 of 10 in “RevObject selection handler”
  1. 0/6 RevObject selection handlerRobin Rosenberg, Jul 10, 2008
  2. 1/6 Create a selection handler for the revision graph.Robin Rosenberg, Jul 10, 2008
  3. 2/6 Using the page site selection turned out to be cumbersome.Robin Rosenberg, Jul 10, 2008
  4. 3/6 Adapt Git team operations to non-resouce objectsRobin Rosenberg, Jul 10, 2008
  5. 4/6 Teach the revision selection handler about the active repositoryRobin Rosenberg, Jul 10, 2008
  6. 5/6 Create baseclasses for actions and operations on RevObjectsRobin Rosenberg, Jul 10, 2008
  7. 6/6 Add actions in history view to perform reset actionsRobin Rosenberg, Jul 10, 2008
  8. Shawn O. PearceJul 11, 2008
  9. Shawn O. PearceJul 11, 2008
  10. Johannes SchindelinJul 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.