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
next prev parent 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).