git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robin Rosenberg <robin.rosenberg@dewire.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: git@vger.kernel.org, Marek Zawirski <marek.zawirski@gmail.com>,
	Robin Rosenberg <robin.rosenberg@dewire.com>
Subject: [EGIT PATCH 6/6] Add actions in history view to perform reset actions
Date: Fri, 11 Jul 2008 00:39:33 +0200	[thread overview]
Message-ID: <1215729573-26536-7-git-send-email-robin.rosenberg@dewire.com> (raw)
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

  reply	other threads:[~2008-07-10 22:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-10 22:39 [EGIT PATCH 0/6] RevObject selection handler Robin Rosenberg
2008-07-10 22:39 ` [EGIT PATCH 1/6] Create a selection handler for the revision graph Robin Rosenberg
2008-07-10 22:39   ` [EGIT PATCH 2/6] Using the page site selection turned out to be cumbersome Robin Rosenberg
2008-07-10 22:39     ` [EGIT PATCH 3/6] Adapt Git team operations to non-resouce objects Robin Rosenberg
2008-07-10 22:39       ` [EGIT PATCH 4/6] Teach the revision selection handler about the active repository Robin Rosenberg
2008-07-10 22:39         ` [EGIT PATCH 5/6] Create baseclasses for actions and operations on RevObjects Robin Rosenberg
2008-07-10 22:39           ` Robin Rosenberg [this message]
2008-07-11  3:47     ` [EGIT PATCH 2/6] Using the page site selection turned out to be cumbersome Shawn O. Pearce
2008-07-11  3:52       ` Shawn O. Pearce
2008-07-11 11:14         ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1215729573-26536-7-git-send-email-robin.rosenberg@dewire.com \
    --to=robin.rosenberg@dewire.com \
    --cc=git@vger.kernel.org \
    --cc=marek.zawirski@gmail.com \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).