[anjuta] git: Add a cherry-picking interface
- From: James Liggett <jrliggett src gnome org>
- To: svn-commits-list gnome org
- Subject: [anjuta] git: Add a cherry-picking interface
- Date: Sun, 24 May 2009 03:35:46 -0400 (EDT)
commit 250db7517b27269558bc247615c7b7b199127754
Author: James Liggett <jrliggett cox net>
Date: Sun May 24 00:09:11 2009 -0700
git: Add a cherry-picking interface
---
plugins/git/Makefile.am | 6 +-
plugins/git/anjuta-git.ui | 426 +++++++++++++++++++++++----------
plugins/git/anjuta-git.xml | 3 +
plugins/git/git-cherry-pick-command.c | 110 +++++++++
plugins/git/git-cherry-pick-command.h | 65 +++++
plugins/git/git-cherry-pick-dialog.c | 181 ++++++++++++++
plugins/git/git-cherry-pick-dialog.h | 35 +++
plugins/git/plugin.c | 17 ++
8 files changed, 714 insertions(+), 129 deletions(-)
diff --git a/plugins/git/Makefile.am b/plugins/git/Makefile.am
index 5951850..6f05cf0 100644
--- a/plugins/git/Makefile.am
+++ b/plugins/git/Makefile.am
@@ -189,7 +189,11 @@ libanjuta_git_la_SOURCES = \
git-apply-mailbox-continue-command.c \
git-apply-mailbox-continue-command.h \
git-apply-mailbox-dialog.c \
- git-apply-mailbox-dialog.h
+ git-apply-mailbox-dialog.h \
+ git-cherry-pick-command.c \
+ git-cherry-pick-command.h \
+ git-cherry-pick-dialog.c \
+ git-cherry-pick-dialog.h
libanjuta_git_la_LDFLAGS = $(ANJUTA_PLUGIN_LDFLAGS)
diff --git a/plugins/git/anjuta-git.ui b/plugins/git/anjuta-git.ui
index 3f3541a..2e9f6cd 100644
--- a/plugins/git/anjuta-git.ui
+++ b/plugins/git/anjuta-git.ui
@@ -2,7 +2,7 @@
<interface>
<requires lib="gtk+" version="2.16"/>
<requires lib="anjuta" version="2366.5320"/>
- <!-- interface-naming-policy toplevel-contextual -->
+ <!-- interface-naming-policy project-wide -->
<object class="GtkListStore" id="log_branch_combo_model">
<columns>
<!-- column-name active_icon -->
@@ -391,7 +391,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
@@ -416,7 +416,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Select file to add:</b></property>
@@ -453,7 +453,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label2">
+ <object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -558,7 +558,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label5">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Select file to remove:</b></property>
@@ -595,7 +595,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label6">
+ <object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -675,7 +675,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="vbox4">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
@@ -850,7 +850,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox4">
+ <object class="GtkVBox" id="vbox7">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
@@ -880,7 +880,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label4">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Branch:</b></property>
@@ -906,7 +906,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
@@ -944,7 +944,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label7">
+ <object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -969,7 +969,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox5">
+ <object class="GtkVBox" id="vbox6">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
@@ -1015,7 +1015,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label8">
+ <object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Log message:</b></property>
@@ -1116,7 +1116,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label9">
+ <object class="GtkLabel" id="label11">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Branch to switch to:</b></property>
<property name="use_markup">True</property>
@@ -1203,7 +1203,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label11">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Branch name:</b></property>
<property name="use_markup">True</property>
@@ -1225,7 +1225,7 @@
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox6">
+ <object class="GtkVBox" id="vbox8">
<property name="visible">True</property>
<child>
<object class="GtkRadioButton" id="branch_head_radio">
@@ -1315,7 +1315,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label12">
+ <object class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options:</b></property>
<property name="use_markup">True</property>
@@ -1408,7 +1408,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label13">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Branch to delete:</b></property>
<property name="use_markup">True</property>
@@ -1441,7 +1441,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label14">
+ <object class="GtkLabel" id="label15">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options:</b></property>
<property name="use_markup">True</property>
@@ -1512,7 +1512,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox7">
+ <object class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
@@ -1552,7 +1552,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label15">
+ <object class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Select Files to Unstage:</b></property>
@@ -1686,7 +1686,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox8">
+ <object class="GtkVBox" id="vbox10">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
@@ -1726,7 +1726,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label16">
+ <object class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Select Files to Check Out:</b></property>
@@ -1862,7 +1862,7 @@
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox9">
+ <object class="GtkVBox" id="vbox11">
<property name="visible">True</property>
<child>
<object class="GtkHBox" id="hbox1">
@@ -1919,7 +1919,7 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label17">
+ <object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">View log</property>
</object>
@@ -1962,7 +1962,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label10">
+ <object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>View the Log for File/Folder:</b></property>
<property name="use_markup">True</property>
@@ -1975,12 +1975,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame1">
+ <object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -2004,7 +2004,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label21">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Branch:</b></property>
<property name="use_markup">True</property>
@@ -2093,7 +2093,7 @@
</packing>
</child>
<child>
- <object class="GtkTable" id="table1">
+ <object class="GtkTable" id="table4">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
@@ -2170,7 +2170,7 @@
</packing>
</child>
<child>
- <object class="GtkTable" id="table3">
+ <object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
@@ -2289,12 +2289,12 @@
<property name="visible">True</property>
<property name="homogeneous">True</property>
<child>
- <object class="GtkFrame" id="frame17">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment17">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -2316,7 +2316,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label18">
+ <object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Changes:</b></property>
<property name="use_markup">True</property>
@@ -2328,12 +2328,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame18">
+ <object class="GtkFrame" id="frame20">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment18">
+ <object class="GtkAlignment" id="alignment20">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -2355,7 +2355,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label19">
+ <object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Log Message:</b></property>
<property name="use_markup">True</property>
@@ -2385,13 +2385,13 @@
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame20">
+ <object class="GtkFrame" id="frame1">
<property name="width_request">250</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment20">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -2403,7 +2403,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label21">
+ <object class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Tag name:</b></property>
<property name="use_markup">True</property>
@@ -2416,16 +2416,16 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame21">
+ <object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment21">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox10">
+ <object class="GtkVBox" id="vbox12">
<property name="visible">True</property>
<child>
<object class="GtkRadioButton" id="tag_head_radio">
@@ -2482,7 +2482,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label22">
+ <object class="GtkLabel" id="label25">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Revision:</b></property>
<property name="use_markup">True</property>
@@ -2495,16 +2495,16 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame22">
+ <object class="GtkFrame" id="frame23">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment22">
+ <object class="GtkAlignment" id="alignment23">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox11">
+ <object class="GtkVBox" id="vbox13">
<property name="visible">True</property>
<child>
<object class="GtkCheckButton" id="tag_force_check">
@@ -2566,7 +2566,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label23">
+ <object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options:</b></property>
<property name="use_markup">True</property>
@@ -2644,7 +2644,7 @@
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox12">
+ <object class="GtkVBox" id="vbox14">
<property name="visible">True</property>
<child>
<object class="GtkRadioButton" id="reset_previous_radio">
@@ -2701,7 +2701,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label25">
+ <object class="GtkLabel" id="label27">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Reset to:</b></property>
<property name="use_markup">True</property>
@@ -2714,16 +2714,16 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame23">
+ <object class="GtkFrame" id="frame25">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment23">
+ <object class="GtkAlignment" id="alignment25">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox13">
+ <object class="GtkVBox" id="vbox17">
<property name="visible">True</property>
<child>
<object class="GtkRadioButton" id="reset_mixed_radio">
@@ -2774,7 +2774,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label24">
+ <object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Mode:</b></property>
<property name="use_markup">True</property>
@@ -2845,18 +2845,18 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox14">
+ <object class="GtkVBox" id="vbox18">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame25">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment25">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
@@ -2870,7 +2870,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label26">
+ <object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Commit to revert:</b></property>
@@ -2884,13 +2884,13 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame26">
+ <object class="GtkFrame" id="frame27">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment26">
+ <object class="GtkAlignment" id="alignment27">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
@@ -2907,7 +2907,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label27">
+ <object class="GtkLabel" id="label36">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -2985,17 +2985,17 @@
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame27">
+ <object class="GtkFrame" id="frame28">
<property name="width_request">250</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment27">
+ <object class="GtkAlignment" id="alignment29">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox19">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
@@ -3032,7 +3032,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label28">
+ <object class="GtkLabel" id="label39">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Remote branch to rebase from:</b></property>
<property name="use_markup">True</property>
@@ -3101,16 +3101,16 @@
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame28">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment29">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox17">
+ <object class="GtkVBox" id="vbox20">
<property name="visible">True</property>
<child>
<object class="GtkRadioButton" id="bisect_start_head_radio">
@@ -3163,7 +3163,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label35">
+ <object class="GtkLabel" id="label40">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Bad revision:</b></property>
<property name="use_markup">True</property>
@@ -3177,12 +3177,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame29">
+ <object class="GtkFrame" id="frame31">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment31">
+ <object class="GtkAlignment" id="alignment33">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -3195,7 +3195,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label36">
+ <object class="GtkLabel" id="label41">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Good revision:</b></property>
<property name="use_markup">True</property>
@@ -3267,18 +3267,18 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox18">
+ <object class="GtkVBox" id="vbox21">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
<child>
- <object class="GtkFrame" id="frame31">
+ <object class="GtkFrame" id="frame33">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment33">
+ <object class="GtkAlignment" id="alignment34">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
@@ -3308,7 +3308,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label39">
+ <object class="GtkLabel" id="label42">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Select Files to Ignore:</b></property>
@@ -3440,13 +3440,13 @@
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame33">
+ <object class="GtkFrame" id="frame1">
<property name="width_request">250</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment34">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -3458,7 +3458,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label40">
+ <object class="GtkLabel" id="label43">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Branch name:</b></property>
<property name="use_markup">True</property>
@@ -3471,12 +3471,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame35">
+ <object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment35">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -3489,7 +3489,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label41">
+ <object class="GtkLabel" id="label44">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>URL:</b></property>
<property name="use_markup">True</property>
@@ -3502,12 +3502,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame36">
+ <object class="GtkFrame" id="frame37">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment36">
+ <object class="GtkAlignment" id="alignment37">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -3522,7 +3522,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label42">
+ <object class="GtkLabel" id="label45">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options:</b></property>
<property name="use_markup">True</property>
@@ -3591,13 +3591,13 @@
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame37">
+ <object class="GtkFrame" id="frame38">
<property name="width_request">250</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment37">
+ <object class="GtkAlignment" id="alignment38">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -3615,7 +3615,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label43">
+ <object class="GtkLabel" id="label47">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Remote to delete:</b></property>
<property name="use_markup">True</property>
@@ -3687,7 +3687,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox19">
+ <object class="GtkVBox" id="vbox23">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
@@ -3701,7 +3701,7 @@
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox22">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
@@ -3738,7 +3738,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label47">
+ <object class="GtkLabel" id="label49">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Generate patches relative to:</b></property>
<property name="use_markup">True</property>
@@ -3751,13 +3751,13 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame38">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment38">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
@@ -3773,7 +3773,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label44">
+ <object class="GtkLabel" id="label51">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Folder to create patches in:</b></property>
@@ -3787,13 +3787,13 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame39">
+ <object class="GtkFrame" id="frame41">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment39">
+ <object class="GtkAlignment" id="alignment41">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
@@ -3810,7 +3810,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label45">
+ <object class="GtkLabel" id="label52">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -3890,22 +3890,22 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox20">
+ <object class="GtkVBox" id="vbox26">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <object class="GtkFrame" id="frame41">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment41">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox24">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
@@ -3938,7 +3938,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label49">
+ <object class="GtkLabel" id="label53">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Repository to pull from:</b></property>
@@ -3953,18 +3953,18 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame42">
+ <object class="GtkFrame" id="frame43">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment42">
+ <object class="GtkAlignment" id="alignment43">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox21">
+ <object class="GtkVBox" id="vbox25">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
@@ -4063,7 +4063,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label51">
+ <object class="GtkLabel" id="label54">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -4143,23 +4143,23 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox3">
+ <object class="GtkVBox" id="vbox30">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
- <object class="GtkFrame" id="frame5">
+ <object class="GtkFrame" id="frame44">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment5">
+ <object class="GtkAlignment" id="alignment44">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="vbox27">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
@@ -4190,7 +4190,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label5">
+ <object class="GtkLabel" id="label55">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Repository to push to:</b></property>
@@ -4204,18 +4204,18 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame6">
+ <object class="GtkFrame" id="frame45">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment6">
+ <object class="GtkAlignment" id="alignment45">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox29">
<property name="visible">True</property>
<child>
<object class="GtkCheckButton" id="push_all_check">
@@ -4247,7 +4247,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label6">
+ <object class="GtkLabel" id="label56">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes"><b>Options:</b></property>
@@ -4266,12 +4266,12 @@
</packing>
</child>
<child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area22">
+ <object class="GtkHButtonBox" id="dialog-action_area23">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="layout_style">end</property>
<child>
- <object class="GtkButton" id="button5">
+ <object class="GtkButton" id="button32">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -4286,7 +4286,7 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="button6">
+ <object class="GtkButton" id="button33">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -4310,8 +4310,8 @@
</object>
</child>
<action-widgets>
- <action-widget response="-6">button5</action-widget>
- <action-widget response="-5">button6</action-widget>
+ <action-widget response="-6">button32</action-widget>
+ <action-widget response="-5">button33</action-widget>
</action-widgets>
</object>
<object class="GtkDialog" id="apply_mailbox_dialog">
@@ -4326,16 +4326,16 @@
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox31">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkFrame" id="frame1">
+ <object class="GtkFrame" id="frame46">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment46">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -4348,7 +4348,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label57">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Mailbox file containing patches:</b></property>
<property name="use_markup">True</property>
@@ -4362,12 +4362,12 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame2">
+ <object class="GtkFrame" id="frame47">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment2">
+ <object class="GtkAlignment" id="alignment47">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
@@ -4382,7 +4382,7 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label2">
+ <object class="GtkLabel" id="label58">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options</b></property>
<property name="use_markup">True</property>
@@ -4401,7 +4401,177 @@
</packing>
</child>
<child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area22">
+ <object class="GtkHButtonBox" id="dialog-action_area25">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button34">
+ <property name="label" translatable="yes">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button35">
+ <property name="label" translatable="yes">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">button34</action-widget>
+ <action-widget response="-5">button35</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkDialog" id="cherry_pick_dialog">
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Cherry Pick</property>
+ <property name="window_position">center</property>
+ <property name="type_hint">normal</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox23">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkEntry" id="cherry_pick_revision_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="width_chars">40</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Commit to Cherry Pick:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkCheckButton" id="cherry_pick_no_commit_check">
+ <property name="label" translatable="yes">Do not 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>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="cherry_pick_show_source_check">
+ <property name="label" translatable="yes">Show source revision in log message</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="cherry_pick_signoff_check">
+ <property name="label" translatable="yes">Add signed-off by line</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Options:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area27">
<property name="visible">True</property>
<property name="layout_style">end</property>
<child>
diff --git a/plugins/git/anjuta-git.xml b/plugins/git/anjuta-git.xml
index cab203e..fc9b2cd 100644
--- a/plugins/git/anjuta-git.xml
+++ b/plugins/git/anjuta-git.xml
@@ -48,6 +48,7 @@
<menuitem name="Delete branch..." action="ActionGitDeleteBranch" />
<menuitem name="Switch to another branch..." action="ActionGitSwitch" />
<menuitem name="Merge..." action="ActionGitMerge" />
+ <menuitem name="Cherry pick..." action="ActionGitCherryPick" />
<placeholder name="PlaceholderRemoteMenu">
<menu name="Remote branches" action="ActionMenuGitRemoteBranches">
<menuitem name="Add..." action="ActionGitRemoteAdd" />
@@ -88,6 +89,8 @@
<menuitem name="Reset tree..." action="ActionGitLogReset" />
<menuitem name="Revert commit..." action="ActionGitLogRevert" />
<separator />
+ <menuitem name="Cherry pick..." action="ActionGitLogCherryPick" />
+ <separator />
<placeholder name="PlaceholderLogBisectMenu">
<menu name="Bisect" action="ActionMenuGitLogBisect">
<menuitem name="Set good revision" action="ActionGitLogBisectGood" />
diff --git a/plugins/git/git-cherry-pick-command.c b/plugins/git/git-cherry-pick-command.c
new file mode 100644
index 0000000..30789d4
--- /dev/null
+++ b/plugins/git/git-cherry-pick-command.c
@@ -0,0 +1,110 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * anjuta
+ * Copyright (C) James Liggett 2008 <jrliggett cox net>
+ *
+ * anjuta is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * anjuta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with anjuta. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "git-cherry-pick-command.h"
+
+struct _GitCherryPickCommandPriv
+{
+ gchar *revision;
+ gboolean no_commit;
+ gboolean show_source;
+ gboolean add_signoff;
+};
+
+G_DEFINE_TYPE (GitCherryPickCommand, git_cherry_pick_command, GIT_TYPE_COMMAND);
+
+static void
+git_cherry_pick_command_init (GitCherryPickCommand *self)
+{
+ self->priv = g_new0 (GitCherryPickCommandPriv, 1);
+}
+
+static void
+git_cherry_pick_command_finalize (GObject *object)
+{
+ GitCherryPickCommand *self;
+
+ self = GIT_CHERRY_PICK_COMMAND (object);
+
+ g_free (self->priv->revision);
+ g_free (self->priv);
+
+ G_OBJECT_CLASS (git_cherry_pick_command_parent_class)->finalize (object);
+}
+
+static guint
+git_cherry_pick_command_run (AnjutaCommand *command)
+{
+ GitCherryPickCommand *self;
+
+ self = GIT_CHERRY_PICK_COMMAND (command);
+
+ git_command_add_arg (GIT_COMMAND (command), "cherry-pick");
+
+ if (self->priv->no_commit)
+ git_command_add_arg (GIT_COMMAND (command), "-n");
+
+ if (self->priv->show_source)
+ git_command_add_arg (GIT_COMMAND (command), "-x");
+
+ if (self->priv->add_signoff)
+ git_command_add_arg (GIT_COMMAND (command), "-s");
+
+ git_command_add_arg (GIT_COMMAND (command), self->priv->revision);
+
+ return 0;
+}
+
+static void
+git_cherry_pick_command_class_init (GitCherryPickCommandClass *klass)
+{
+ GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ GitCommandClass* parent_class = GIT_COMMAND_CLASS (klass);
+ AnjutaCommandClass* command_class = ANJUTA_COMMAND_CLASS (klass);
+
+ object_class->finalize = git_cherry_pick_command_finalize;
+ parent_class->output_handler = git_command_send_output_to_info;
+ command_class->run = git_cherry_pick_command_run;
+}
+
+
+GitCherryPickCommand *
+git_cherry_pick_command_new (const gchar *working_directory,
+ const gchar *revision, gboolean no_commit,
+ gboolean show_source, gboolean add_signoff)
+{
+ GitCherryPickCommand *self;
+
+ self = g_object_new (GIT_TYPE_CHERRY_PICK_COMMAND,
+ "working-directory", working_directory,
+ "single-line-output", TRUE,
+ NULL);
+
+ self->priv->revision = g_strdup (revision);
+ self->priv->no_commit = no_commit;
+ self->priv->show_source = show_source;
+ self->priv->add_signoff = add_signoff;
+
+ return self;
+}
diff --git a/plugins/git/git-cherry-pick-command.h b/plugins/git/git-cherry-pick-command.h
new file mode 100644
index 0000000..6119c6b
--- /dev/null
+++ b/plugins/git/git-cherry-pick-command.h
@@ -0,0 +1,65 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * anjuta
+ * Copyright (C) James Liggett 2008 <jrliggett cox net>
+ *
+ * anjuta is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * anjuta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with anjuta. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GIT_CHERRY_PICK_COMMAND_H_
+#define _GIT_CHERRY_PICK_COMMAND_H_
+
+#include <glib-object.h>
+#include "git-command.h"
+
+G_BEGIN_DECLS
+
+#define GIT_TYPE_CHERRY_PICK_COMMAND (git_cherry_pick_command_get_type ())
+#define GIT_CHERRY_PICK_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIT_TYPE_CHERRY_PICK_COMMAND, GitCherryPickCommand))
+#define GIT_CHERRY_PICK_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIT_TYPE_CHERRY_PICK_COMMAND, GitCherryPickCommandClass))
+#define GIT_IS_CHERRY_PICK_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIT_TYPE_CHERRY_PICK_COMMAND))
+#define GIT_IS_CHERRY_PICK_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIT_TYPE_CHERRY_PICK_COMMAND))
+#define GIT_CHERRY_PICK_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIT_TYPE_CHERRY_PICK_COMMAND, GitCherryPickCommandClass))
+
+typedef struct _GitCherryPickCommandClass GitCherryPickCommandClass;
+typedef struct _GitCherryPickCommand GitCherryPickCommand;
+typedef struct _GitCherryPickCommandPriv GitCherryPickCommandPriv;
+
+struct _GitCherryPickCommandClass
+{
+ GitCommandClass parent_class;
+};
+
+struct _GitCherryPickCommand
+{
+ GitCommand parent_instance;
+
+ GitCherryPickCommandPriv *priv;
+};
+
+GType git_cherry_pick_command_get_type (void) G_GNUC_CONST;
+GitCherryPickCommand *git_cherry_pick_command_new (const gchar *working_directory,
+ const gchar *revision,
+ gboolean no_commit,
+ gboolean show_source,
+ gboolean add_signoff);
+
+G_END_DECLS
+
+#endif /* _GIT_REVERT_COMMAND_H_ */
diff --git a/plugins/git/git-cherry-pick-dialog.c b/plugins/git/git-cherry-pick-dialog.c
new file mode 100644
index 0000000..72d8de3
--- /dev/null
+++ b/plugins/git/git-cherry-pick-dialog.c
@@ -0,0 +1,181 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * anjuta
+ * Copyright (C) James Liggett 2008 <jrliggett cox net>
+ *
+ * anjuta is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * anjuta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with anjuta. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "git-cherry-pick-dialog.h"
+
+static void
+on_cherry_pick_dialog_response (GtkDialog *dialog, gint response_id,
+ GitUIData *data)
+{
+ GtkWidget *cherry_pick_revision_entry;
+ GtkWidget *cherry_pick_no_commit_check;
+ GtkWidget *cherry_pick_show_source_check;
+ GtkWidget *cherry_pick_signoff_check;
+ gchar *revision;
+ GitCherryPickCommand *cherry_pick_command;
+
+ if (response_id == GTK_RESPONSE_OK)
+ {
+ cherry_pick_revision_entry = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_revision_entry"));
+ cherry_pick_no_commit_check = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_no_commit_check"));
+ cherry_pick_show_source_check = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_show_source_check"));
+ cherry_pick_signoff_check = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_signoff_check"));
+ revision = gtk_editable_get_chars (GTK_EDITABLE (cherry_pick_revision_entry),
+ 0, -1);
+
+ if (git_check_input (GTK_WIDGET (dialog), cherry_pick_revision_entry, revision,
+ _("Please enter a revision.")))
+ {
+ cherry_pick_command = git_cherry_pick_command_new (data->plugin->project_root_directory,
+ revision,
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cherry_pick_no_commit_check)),
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cherry_pick_show_source_check)),
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cherry_pick_signoff_check)));
+
+
+ g_free (revision);
+
+ git_create_message_view (data->plugin);
+
+ g_signal_connect (G_OBJECT (cherry_pick_command), "command-finished",
+ G_CALLBACK (on_git_command_finished),
+ data->plugin);
+
+ g_signal_connect (G_OBJECT (cherry_pick_command), "data-arrived",
+ G_CALLBACK (on_git_command_info_arrived),
+ data->plugin);
+
+ anjuta_command_start (ANJUTA_COMMAND (cherry_pick_command));
+ }
+ else
+ {
+ g_free (revision);
+ return;
+ }
+ }
+
+ gtk_widget_destroy (GTK_WIDGET (dialog));
+ git_ui_data_free (data);
+}
+
+static void
+on_cherry_pick_no_commit_check_toggled (GtkToggleButton *toggle_button,
+ GitUIData *data)
+{
+ GtkWidget *cherry_pick_show_source_check;
+ GtkWidget *cherry_pick_signoff_check;
+ gboolean active;
+
+ cherry_pick_show_source_check = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_show_source_check"));
+ cherry_pick_signoff_check = GTK_WIDGET (gtk_builder_get_object (data->bxml,
+ "cherry_pick_signoff_check"));
+ active = gtk_toggle_button_get_active (toggle_button);
+
+ /* It doesn't make much sense to show a source revision or add a signed off
+ * line when there's no commit to be made. */
+ if (active)
+ {
+ gtk_widget_set_sensitive (cherry_pick_show_source_check, FALSE);
+ gtk_widget_set_sensitive (cherry_pick_signoff_check, FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cherry_pick_show_source_check), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cherry_pick_signoff_check), FALSE);
+
+ }
+ else
+ {
+ gtk_widget_set_sensitive (cherry_pick_show_source_check, TRUE);
+ gtk_widget_set_sensitive (cherry_pick_signoff_check, TRUE);
+ }
+}
+
+static void
+cherry_pick_dialog (Git *plugin, const gchar *revision)
+{
+ GtkBuilder *bxml;
+ gchar *objects[] = {"cherry_pick_dialog", NULL};
+ GError *error;
+ GtkWidget *dialog;
+ GtkWidget *cherry_pick_revision_entry;
+ GtkWidget *cherry_pick_no_commit_check;
+ GitUIData *data;
+
+ bxml = gtk_builder_new ();
+ error = NULL;
+
+ if (!gtk_builder_add_objects_from_file (bxml, BUILDER_FILE, objects,
+ &error))
+ {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ g_error_free (error);
+ }
+
+ dialog = GTK_WIDGET (gtk_builder_get_object (bxml, "cherry_pick_dialog"));
+ cherry_pick_revision_entry = GTK_WIDGET (gtk_builder_get_object (bxml,
+ "cherry_pick_revision_entry"));
+ cherry_pick_no_commit_check = GTK_WIDGET (gtk_builder_get_object (bxml,
+ "cherry_pick_no_commit_check"));
+
+ data = git_ui_data_new (plugin, bxml);
+
+ if (revision)
+ gtk_entry_set_text (GTK_ENTRY (cherry_pick_revision_entry), revision);
+
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (on_cherry_pick_dialog_response),
+ data);
+
+ g_signal_connect (G_OBJECT (cherry_pick_no_commit_check), "toggled",
+ G_CALLBACK (on_cherry_pick_no_commit_check_toggled),
+ data);
+
+ gtk_widget_show_all (dialog);
+}
+
+void
+on_menu_git_cherry_pick (GtkAction *action, Git *plugin)
+{
+ cherry_pick_dialog (plugin, NULL);
+}
+
+void
+on_log_menu_git_cherry_pick (GtkAction *action, Git *plugin)
+{
+ GitRevision *revision;
+ gchar *sha;
+
+ revision = git_log_get_selected_revision (plugin);
+
+ if (revision)
+ {
+ sha = git_revision_get_sha (revision);
+
+ cherry_pick_dialog (plugin, sha);
+ g_free (sha);
+ }
+}
diff --git a/plugins/git/git-cherry-pick-dialog.h b/plugins/git/git-cherry-pick-dialog.h
new file mode 100644
index 0000000..39b7ed8
--- /dev/null
+++ b/plugins/git/git-cherry-pick-dialog.h
@@ -0,0 +1,35 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * anjuta
+ * Copyright (C) James Liggett 2008 <jrliggett cox net>
+ *
+ * anjuta is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * anjuta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with anjuta. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GIT_CHERRY_PICK_DIALOG_H
+#define _GIT_CHERRY_PICK_DIALOG_H
+
+#include "git-cherry-pick-command.h"
+#include "git-log-dialog.h"
+#include "git-ui-utils.h"
+
+void on_menu_git_cherry_pick (GtkAction *action, Git *plugin);
+void on_log_menu_git_cherry_pick (GtkAction *action, Git *plugin);
+
+#endif
diff --git a/plugins/git/plugin.c b/plugins/git/plugin.c
index 328ac75..7d63dda 100644
--- a/plugins/git/plugin.c
+++ b/plugins/git/plugin.c
@@ -47,6 +47,7 @@
#include "git-cat-file-menu.h"
#include "git-push-dialog.h"
#include "git-apply-mailbox-dialog.h"
+#include "git-cherry-pick-dialog.h"
#define UI_FILE PACKAGE_DATA_DIR"/ui/anjuta-git.xml"
@@ -287,6 +288,14 @@ static GtkActionEntry actions_git[] =
G_CALLBACK (on_menu_git_merge) /* action callback */
},
{
+ "ActionGitCherryPick", /* Action name */
+ NULL, /* Stock icon, if any */
+ N_("_Cherry pick..."), /* Display label */
+ NULL, /* short-cut */
+ NULL, /* Tooltip */
+ G_CALLBACK (on_menu_git_cherry_pick) /* action callback */
+ },
+ {
"ActionMenuGitRemoteBranches", /* Action name */
GTK_STOCK_NETWORK, /* Stock icon, if any */
N_("_Remote branches"), /* Display label */
@@ -435,6 +444,14 @@ static GtkActionEntry actions_log[] =
G_CALLBACK (on_log_menu_git_revert) /* action callback */
},
{
+ "ActionGitLogCherryPick", /* Action name */
+ NULL, /* Stock icon, if any */
+ N_("_Cherry pick..."), /* Display label */
+ NULL, /* short-cut */
+ NULL, /* Tooltip */
+ G_CALLBACK (on_log_menu_git_cherry_pick) /* action callback */
+ },
+ {
"ActionMenuGitLogBisect", /* Action name */
NULL, /* Stock icon, if any */
N_("_Bisect"), /* Display label */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]