From e96a663f1e6b1f9c5f19ac888e2912ff5ecaaff3 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Tue, 6 Jul 2021 13:05:27 +0200 Subject: [PATCH] Suggest a 'cherry-picked from' line when cherry picking Emulates the behavior of "git cherry-pick -x" and the web UI. Change-Id: I1c3654e39351cd0c6fc84a57b04560877bdf3b31 --- gertty/view/change.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gertty/view/change.py b/gertty/view/change.py index c2d3009..0c9041f 100644 --- a/gertty/view/change.py +++ b/gertty/view/change.py @@ -97,6 +97,14 @@ class EditHashtagsDialog(mywid.ButtonDialog): class CherryPickDialog(urwid.WidgetWrap, mywid.LineBoxTitlePropertyMixin): signals = ['save', 'cancel'] + + def _cherry_pick_message(self, change): + revision = change.revisions[-1] + return "{}\n(cherry picked from commit {})".format( + revision.message.rstrip('\n'), + revision.commit, + ) + def __init__(self, app, change): save_button = mywid.FixedButton('Propose Change') cancel_button = mywid.FixedButton('Cancel') @@ -108,7 +116,7 @@ class CherryPickDialog(urwid.WidgetWrap, mywid.LineBoxTitlePropertyMixin): ('pack', cancel_button)] button_columns = urwid.Columns(button_widgets, dividechars=2) rows = [] - self.entry = mywid.MyEdit(edit_text=change.revisions[-1].message, + self.entry = mywid.MyEdit(edit_text=self._cherry_pick_message(change), multiline=True, ring=app.ring) self.branch_buttons = [] rows.append(urwid.Text(u"Branch:"))