From: Charvi Mendiratta <charvi077@gmail.com> To: git@vger.kernel.org Cc: chriscool@tuxfamily.org, phillip.wood@dunelm.org.uk, me@ttaylorr.com, gitster@pobox.com, Charvi Mendiratta <charvi077@gmail.com> Subject: [PATCH v2 0/9][Outreachy] rebase -i: add options to fixup command Date: Tue, 19 Jan 2021 13:10:54 +0530 Message-ID: <20210119074102.21598-1-charvi077@gmail.com> (raw) In-Reply-To: <20210108092345.2178-1-charvi077@gmail.com> [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #0: Type: text/plain; charset=y, Size: 3017 bytes --] This patch series adds fixup [-C|-c] options to interactive rebase. In addition to amending the contents of the commit as the `fixup` command does now, `fixup -C` replaces the commit message of the original commit which we are fixing up with the message of the fixup commit. And to edit the fixup commit message before committing, `fixup -c` command is used instead of `fixup -C`. This convention is similar to the existing `merge` command in the interactive rebase, that also supports `-c` and `-C` options with similar meanings. This patch series also changes `rebase -i --autosquash` to rearrange commits whose message starts with "amend!" and replaces the pick command with `fixup -C`. The creation of "amend!" commits will be rebase -i: add options to fixup command added in another patch series. This is done in reference to the issue opened by Dscho as here[1] and further discussed briefly[2]. Also, there is discussion[3] regarding the implementation of reword! commit. The past patches of Phillip Wood’s work[4], implements 'reword!' as 'amend!' in git rebase and these patches uses those as the initial base. And to avoid the extra command in the interactive rebase, this patch series instead add options to the current fixup command in interactive rebase (fixup [-C | -c]) as discussed earlier[5]. Changes from v1 : * added '< 0' to check that 'write_message()' returns an error * checks if squash! line commented out in t3415-rebase-autosquash.sh * removing line break and changing suffix from _str to _fmt in sequencer.c [1] https://github.com/gitgitgadget/git/issues/259 [2] https://public-inbox.org/git/alpine.DEB.2.21.1.1710151754070.40514@virtualbox/ [3] https://lore.kernel.org/git/95cc6fb2-d1bc-11de-febe-c2b5c78a6850@gmail.com/ [4] https://github.com/phillipwood/git/commits/wip/rebase-amend [5] https://lore.kernel.org/git/29fc2f59-1cca-a3db-5586-bbd7b2e4806d@gmail.com/ Charvi Mendiratta (6): sequencer: pass todo_item to do_pick_commit() sequencer: use const variable for commit message comments rebase -i: add fixup [-C | -c] command t3437: test script for fixup [-C|-c] options in interactive rebase rebase -i: teach --autosquash to work with amend! doc/git-rebase: add documentation for fixup [-C|-c] options Phillip Wood (3): rebase -i: only write fixup-message when it's needed sequencer: factor out code to append squash message rebase -i: comment out squash!/fixup! subjects from squash message Documentation/git-rebase.txt | 12 +- rebase-interactive.c | 4 +- sequencer.c | 297 +++++++++++++++++++++++++++----- t/lib-rebase.sh | 4 + t/t3415-rebase-autosquash.sh | 30 ++-- t/t3437-rebase-fixup-options.sh | 202 ++++++++++++++++++++++ t/t3437/expected-squash-message | 51 ++++++ t/t3900-i18n-commit.sh | 4 - 8 files changed, 543 insertions(+), 61 deletions(-) create mode 100755 t/t3437-rebase-fixup-options.sh create mode 100644 t/t3437/expected-squash-message -- 2.29.0.rc1
next prev parent reply index Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-08 9:23 [RFC PATCH " Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 1/9] rebase -i: only write fixup-message when it's needed Charvi Mendiratta 2021-01-13 18:43 ` Taylor Blau 2021-01-14 8:12 ` Charvi Mendiratta 2021-01-14 10:46 ` Phillip Wood 2021-01-15 8:38 ` Charvi Mendiratta 2021-01-15 17:22 ` Junio C Hamano 2021-01-16 4:49 ` Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 2/9] sequencer: factor out code to append squash message Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 3/9] rebase -i: comment out squash!/fixup! subjects from " Charvi Mendiratta 2021-01-13 19:01 ` Taylor Blau 2021-01-14 8:27 ` Charvi Mendiratta 2021-01-14 10:29 ` Phillip Wood 2021-01-15 8:35 ` Charvi Mendiratta 2021-01-15 8:44 ` Christian Couder 2021-01-15 11:12 ` Charvi Mendiratta 2021-01-17 3:39 ` Charvi Mendiratta 2021-01-18 18:29 ` Phillip Wood 2021-01-19 4:08 ` Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 4/9] sequencer: pass todo_item to do_pick_commit() Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 5/9] sequencer: use const variable for commit message comments Charvi Mendiratta 2021-01-13 19:14 ` Taylor Blau 2021-01-13 20:37 ` Junio C Hamano 2021-01-14 7:40 ` Christian Couder 2021-01-14 8:57 ` Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 6/9] rebase -i: add fixup [-C | -c] command Charvi Mendiratta 2021-01-14 9:23 ` Christian Couder 2021-01-14 9:45 ` Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 7/9] t3437: test script for fixup [-C|-c] options in interactive rebase Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 8/9] rebase -i: teach --autosquash to work with amend! Charvi Mendiratta 2021-01-08 9:23 ` [RFC PATCH 9/9] doc/git-rebase: add documentation for fixup [-C|-c] options Charvi Mendiratta 2021-01-19 7:40 ` Charvi Mendiratta [this message] 2021-01-24 17:03 ` [PATCH v3 0/9][Outreachy] rebase -i: add options to fixup command Charvi Mendiratta 2021-01-24 17:03 ` [PATCH v3 1/9] rebase -i: only write fixup-message when it's needed Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 2/9] sequencer: factor out code to append squash message Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 3/9] rebase -i: comment out squash!/fixup! subjects from " Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 4/9] sequencer: pass todo_item to do_pick_commit() Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 5/9] sequencer: use const variable for commit message comments Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 6/9] rebase -i: add fixup [-C | -c] command Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 7/9] t3437: test script for fixup [-C|-c] options in interactive rebase Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 8/9] rebase -i: teach --autosquash to work with amend! Charvi Mendiratta 2021-01-24 17:04 ` [PATCH v3 9/9] doc/git-rebase: add documentation for fixup [-C|-c] options Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 0/9][Outreachy] rebase -i: add options to fixup command Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 1/9] rebase -i: only write fixup-message when it's needed Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 2/9] sequencer: factor out code to append squash message Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 3/9] rebase -i: comment out squash!/fixup! subjects from " Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 4/9] sequencer: pass todo_item to do_pick_commit() Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 5/9] sequencer: use const variable for commit message comments Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 6/9] rebase -i: add fixup [-C | -c] command Charvi Mendiratta 2021-02-02 0:47 ` Eric Sunshine 2021-02-02 15:29 ` Charvi Mendiratta 2021-02-03 5:05 ` Eric Sunshine 2021-02-04 0:00 ` Charvi Mendiratta 2021-02-04 0:14 ` Eric Sunshine 2021-01-29 18:20 ` [PATCH v4 7/9] t3437: test script for fixup [-C|-c] options in interactive rebase Charvi Mendiratta 2021-02-02 2:01 ` Eric Sunshine 2021-02-02 10:02 ` Christian Couder 2021-02-02 15:31 ` Charvi Mendiratta 2021-02-03 5:44 ` Eric Sunshine 2021-02-04 0:01 ` Charvi Mendiratta 2021-02-04 10:46 ` Phillip Wood 2021-02-04 16:14 ` Eric Sunshine 2021-02-04 19:12 ` Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 8/9] rebase -i: teach --autosquash to work with amend! Charvi Mendiratta 2021-02-02 3:20 ` Eric Sunshine 2021-02-02 15:29 ` Charvi Mendiratta 2021-01-29 18:20 ` [PATCH v4 9/9] doc/git-rebase: add documentation for fixup [-C|-c] options Charvi Mendiratta 2021-02-02 3:23 ` Eric Sunshine 2021-02-02 14:12 ` Marc Branchaud 2021-02-02 15:30 ` Charvi Mendiratta 2021-02-04 19:04 ` [PATCH v5 0/8][Outreachy] rebase -i: add options to fixup command Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 1/8] rebase -i: only write fixup-message when it's needed Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 2/8] sequencer: factor out code to append squash message Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 3/8] rebase -i: comment out squash!/fixup! subjects from " Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 4/8] sequencer: pass todo_item to do_pick_commit() Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 5/8] sequencer: use const variable for commit message comments Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 6/8] rebase -i: add fixup [-C | -c] command Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 7/8] t3437: test script for fixup [-C|-c] options in interactive rebase Charvi Mendiratta 2021-02-04 19:05 ` [PATCH v5 8/8] doc/git-rebase: add documentation for fixup [-C|-c] options Charvi Mendiratta 2021-02-05 7:30 ` [PATCH v5 0/8][Outreachy] rebase -i: add options to fixup command Eric Sunshine 2021-02-05 9:42 ` Charvi Mendiratta 2021-02-05 18:25 ` Christian Couder 2021-02-05 18:56 ` Eric Sunshine 2021-02-06 5:36 ` Charvi Mendiratta 2021-02-05 19:13 ` Junio C Hamano 2021-02-06 5:37 ` Charvi Mendiratta 2021-01-19 7:40 ` [PATCH v2 1/9] rebase -i: only write fixup-message when it's needed Charvi Mendiratta 2021-01-19 7:40 ` [PATCH v2 2/9] sequencer: factor out code to append squash message Charvi Mendiratta 2021-01-19 7:40 ` [PATCH v2 3/9] rebase -i: comment out squash!/fixup! subjects from " Charvi Mendiratta 2021-01-21 1:38 ` Junio C Hamano 2021-01-21 14:02 ` Charvi Mendiratta 2021-01-21 15:21 ` Christian Couder 2021-01-21 16:58 ` Phillip Wood 2021-01-21 20:56 ` Junio C Hamano 2021-01-22 19:41 ` Charvi Mendiratta 2021-01-22 19:41 ` Charvi Mendiratta 2021-01-19 7:40 ` [PATCH v2 4/9] sequencer: pass todo_item to do_pick_commit() Charvi Mendiratta 2021-01-19 7:41 ` [PATCH v2 5/9] sequencer: use const variable for commit message comments Charvi Mendiratta 2021-01-19 7:41 ` [PATCH v2 6/9] rebase -i: add fixup [-C | -c] command Charvi Mendiratta 2021-01-19 7:41 ` [PATCH v2 7/9] t3437: test script for fixup [-C|-c] options in interactive rebase Charvi Mendiratta 2021-01-19 7:41 ` [PATCH v2 8/9] rebase -i: teach --autosquash to work with amend! Charvi Mendiratta 2021-01-19 7:41 ` [PATCH v2 9/9] doc/git-rebase: add documentation for fixup [-C|-c] options Charvi Mendiratta 2021-01-19 14:37 ` Marc Branchaud 2021-01-19 17:13 ` Charvi Mendiratta 2021-01-19 22:05 ` Marc Branchaud 2021-01-20 7:10 ` Charvi Mendiratta 2021-01-20 11:04 ` Phillip Wood 2021-01-20 12:31 ` Charvi Mendiratta 2021-01-20 14:29 ` Phillip Wood 2021-01-20 16:09 ` Charvi Mendiratta
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=20210119074102.21598-1-charvi077@gmail.com \ --to=charvi077@gmail.com \ --cc=chriscool@tuxfamily.org \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=me@ttaylorr.com \ --cc=phillip.wood@dunelm.org.uk \ /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
Git Mailing List Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/git/0 git/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 git git/ https://lore.kernel.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git