[anjuta] Implement the amend option for Git commits.



commit 8ba0bb2e6db97dc464d53c515699b7db18255cb8
Author: James Liggett <jrliggett cox net>
Date:   Sun May 3 01:15:44 2009 -0700

    Implement the amend option for Git commits.
---
 plugins/git/anjuta-git.glade     |  124 +++++++++++++++++++++++++++++++++++++-
 plugins/git/git-commit-command.c |   11 +++-
 plugins/git/git-commit-command.h |    3 +-
 plugins/git/git-commit-dialog.c  |    6 ++
 4 files changed, 137 insertions(+), 7 deletions(-)

diff --git a/plugins/git/anjuta-git.glade b/plugins/git/anjuta-git.glade
index 98c7a19..9f4c0a0 100644
--- a/plugins/git/anjuta-git.glade
+++ b/plugins/git/anjuta-git.glade
@@ -86,6 +86,18 @@
                       <widget class="GtkVBox" id="vbox1">
                         <property name="visible">True</property>
                         <child>
+                          <widget class="GtkCheckButton" id="commit_amend_check">
+                            <property name="label" translatable="yes">Amend the previous commit</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
                           <widget class="GtkCheckButton" id="resolve_check">
                             <property name="label" translatable="yes">This commit concludes a failed merge (use -i)</property>
                             <property name="visible">True</property>
@@ -95,7 +107,7 @@
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
-                            <property name="position">0</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
@@ -107,7 +119,7 @@
                             <property name="draw_indicator">True</property>
                           </widget>
                           <packing>
-                            <property name="position">1</property>
+                            <property name="position">2</property>
                           </packing>
                         </child>
                         <child>
@@ -173,7 +185,7 @@
                             </child>
                           </widget>
                           <packing>
-                            <property name="position">2</property>
+                            <property name="position">3</property>
                           </packing>
                         </child>
                       </widget>
@@ -276,6 +288,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -289,6 +303,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -319,6 +335,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -333,6 +351,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -461,6 +481,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -475,6 +497,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -603,6 +627,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -617,6 +643,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -728,6 +756,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -741,6 +771,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -771,6 +803,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -785,6 +819,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1011,6 +1047,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1025,6 +1063,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1095,6 +1135,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1108,6 +1150,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1297,6 +1341,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1310,6 +1356,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1416,6 +1464,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1429,6 +1479,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1539,6 +1591,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -1552,6 +1606,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -1582,6 +1638,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1596,6 +1654,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1706,6 +1766,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -1719,6 +1781,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -1749,6 +1813,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1763,6 +1829,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -2134,6 +2202,8 @@
                         <property name="use_stock">True</property>
                       </widget>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
@@ -2473,6 +2543,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -2486,6 +2558,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -2681,6 +2755,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -2694,6 +2770,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -2822,6 +2900,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -2836,6 +2916,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -2906,6 +2988,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -2919,6 +3003,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3070,6 +3156,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3083,6 +3171,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3194,6 +3284,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -3207,6 +3299,8 @@
                     <property name="use_stock">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -3237,6 +3331,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3251,6 +3347,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3392,6 +3490,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3405,6 +3505,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3475,6 +3577,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3489,6 +3593,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3651,6 +3757,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3665,6 +3773,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -3867,6 +3977,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -3881,6 +3993,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -4029,6 +4143,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -4043,6 +4159,8 @@
                 <property name="use_stock">True</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
diff --git a/plugins/git/git-commit-command.c b/plugins/git/git-commit-command.c
index 567712c..b69e79e 100644
--- a/plugins/git/git-commit-command.c
+++ b/plugins/git/git-commit-command.c
@@ -27,6 +27,7 @@
 struct _GitCommitCommandPriv
 {
 	GList *paths;
+	gboolean amend;
 	gboolean resolve_merge;
 	gchar *log;
 	gchar *author_name;
@@ -45,6 +46,9 @@ git_commit_command_run (AnjutaCommand *command)
 	
 	git_command_add_arg (GIT_COMMAND (self), "commit");
 
+	if (self->priv->amend)
+		git_command_add_arg (GIT_COMMAND (self), "--amend");
+
 	if (self->priv->author_name && self->priv->author_email)
 	{
 		author = g_strdup_printf ("--author=%s <%s>", self->priv->author_name,
@@ -53,7 +57,7 @@ git_commit_command_run (AnjutaCommand *command)
 
 		g_free (author);
 	}
-	
+
 	git_command_add_arg (GIT_COMMAND (self), "-m");
 	git_command_add_arg (GIT_COMMAND (self), self->priv->log);
 	
@@ -101,8 +105,8 @@ git_commit_command_class_init (GitCommitCommandClass *klass)
 
 
 GitCommitCommand *
-git_commit_command_new (const gchar *working_directory, gboolean resolve_merge,
-						const gchar *log, 
+git_commit_command_new (const gchar *working_directory, gboolean amend, 
+						gboolean resolve_merge, const gchar *log, 
                         const gchar *author_name, 
                         const gchar *author_email,
                         GList *paths)
@@ -115,6 +119,7 @@ git_commit_command_new (const gchar *working_directory, gboolean resolve_merge,
 						 NULL);
 	
 	self->priv->paths = git_command_copy_path_list (paths);
+	self->priv->amend = amend;
 	self->priv->resolve_merge = resolve_merge;
 	self->priv->log = g_strdup (log);
 	self->priv->author_name = g_strdup (author_name);
diff --git a/plugins/git/git-commit-command.h b/plugins/git/git-commit-command.h
index 23efbc0..64cf0f1 100644
--- a/plugins/git/git-commit-command.h
+++ b/plugins/git/git-commit-command.h
@@ -55,7 +55,8 @@ struct _GitCommitCommand
 
 GType git_commit_command_get_type (void) G_GNUC_CONST;
 GitCommitCommand *git_commit_command_new (const gchar *working_directory,
-										  gboolean resolve_merge, 
+										  gboolean amend,
+										  gboolean resolve_merge,
 										  const gchar *log, 
 										  const gchar *author_name,
                                           const gchar *author_email,
diff --git a/plugins/git/git-commit-dialog.c b/plugins/git/git-commit-dialog.c
index 92231c4..4d7c62e 100644
--- a/plugins/git/git-commit-dialog.c
+++ b/plugins/git/git-commit-dialog.c
@@ -45,6 +45,8 @@ static void
 on_commit_dialog_response (GtkDialog *dialog, gint response_id, 
 						   GitUIData *data)
 {
+	GtkWidget *commit_amend_check;
+	gboolean amend;
 	GtkWidget *commit_log_view;
 	gchar *log;
 	GtkWidget *log_prompt_dialog;
@@ -62,6 +64,9 @@ on_commit_dialog_response (GtkDialog *dialog, gint response_id,
 	
 	if (response_id == GTK_RESPONSE_OK)
 	{
+		commit_amend_check = glade_xml_get_widget (data->gxml, 
+		                                           "commit_amend_check");
+		amend = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (commit_amend_check));
 		commit_log_view = glade_xml_get_widget (data->gxml, "commit_log_view");
 		log = git_get_log_from_textview (commit_log_view);
 		
@@ -120,6 +125,7 @@ on_commit_dialog_response (GtkDialog *dialog, gint response_id,
 		resolve_check = glade_xml_get_widget (data->gxml, "resolve_check");
 		selected_paths = anjuta_vcs_status_tree_view_get_selected (ANJUTA_VCS_STATUS_TREE_VIEW (commit_status_view));
 		commit_command = git_commit_command_new (data->plugin->project_root_directory,
+		                                         amend,
 												 gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (resolve_check)),
 												 log,
 		                                         author_name,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]