git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [GSoC][PATCH 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.sh

From
Stefan Beller <sbeller@google.com>
Date
May 22, 2018, 18:26 UTC
Message-ID
<CAGZ79kaTPu=z_6oJk__meuyhUt-pU_LtOJ90rPTQcC=YvhnOnw@mail.gmail.com>
In-Reply-To
<20180522133110.32723-2-alban.gruin@gmail.com>
On Tue, May 22, 2018 at 6:31 AM, Alban Gruin <alban.gruin@gmail.com> wrote:
Show 6 quoted lines
> This duplicates git-rebase--interactive.sh to
> git-rebase--preserve-merges.sh. This is done to split -p from -i. No
> modifications are made to this file here, but any code that is not used by -p
> will be stripped in the next commit.
>
> Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
So how would I best review this?

I applied the patches locally[1], and ran git-ls-tree on this commit hoping to find the same blob id for git-rebase--interactive.sh as for git-rebase--preserve-merges.sh; however I did not.

So I diffed them and had the diff below[2], which looks like that has parts of Johannes recent series?

Thanks, Stefan

[1] After applying I pushed it to https://github.com/stefanbeller/git/tree/alban_split_off_-p and this patch is commit 9f64342ea1b64d43e4675b5f202174c9e0f77dbf

[2] $ git diff 9f64342ea1b64d43e4675b5f202174c9e0f77dbf:git-rebase--preserve-merges.sh
\
    9f64342ea1b64d43e4675b5f202174c9e0f77dbf:git-rebase--interactive.sh
diff --git a/git-rebase--preserve-merges.sh b/git-rebase--interactive.sh
index 9947e6265fe..2f4941d0fc9 100644
--- a/git-rebase--preserve-merges.sh
+++ b/git-rebase--interactive.sh
@@ -155,13 +155,19 @@ reschedule_last_action () {
 append_todo_help () {
        gettext "
 Commands:
-p, pick = use commit
-r, reword = use commit, but edit the commit message
-e, edit = use commit, but stop for amending
-s, squash = use commit, but meld into previous commit
-f, fixup = like \"squash\", but discard this commit's log message
-x, exec = run command (the rest of the line) using shell
-d, drop = remove commit
+p, pick <commit> = use commit
+r, reword <commit> = use commit, but edit the commit message
+e, edit <commit> = use commit, but stop for amending
+s, squash <commit> = use commit, but meld into previous commit
+f, fixup <commit> = like \"squash\", but discard this commit's log message
+x, exec <commit> = run command (the rest of the line) using shell
+d, drop <commit> = remove commit
+l, label <label> = label current HEAD with a name
+t, reset <label> = reset HEAD to a label
+m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
+.       create a merge commit using the original merge commit's
+.       message (or the oneline, if no original merge commit was
+.       specified). Use -c <commit> to reword the commit message.

 These lines can be re-ordered; they are executed from top to bottom.
 " | git stripspace --comment-lines >>"$todo"
@@ -888,6 +894,8 @@ init_revisions_and_shortrevisions () {
        else
                revisions=$onto...$orig_head
                shortrevisions=$shorthead
+               test -z "$squash_onto" ||
+               echo "$squash_onto" >"$state_dir"/squash-onto
        fi
 }

@@ -942,7 +950,7 @@ EOF
        die "Could not skip unnecessary pick commands"

        checkout_onto
-       if test -z "$rebase_root" && test ! -d "$rewritten"
+       if test ! -d "$rewritten"
        then
                require_clean_work_tree "rebase"
                exec git rebase--helper ${force_rebase:+--no-ff}
$allow_empty_message \
@@ -964,6 +972,8 @@ git_rebase__interactive () {
        init_revisions_and_shortrevisions

        git rebase--helper --make-script ${keep_empty:+--keep-empty} \
+               ${rebase_merges:+--rebase-merges} \
+               ${rebase_cousins:+--rebase-cousins} \
                $revisions ${restrict_revision+^$restrict_revision} >"$todo" ||
        die "$(gettext "Could not generate todo list")"
Previous: Alban GruinNext: Alban Gruin
Message 3 of 26 in “rebase: split rebase -p from rebase -i”
  1. Alban GruinMay 22, 2018
  2. [GSoC][PATCH 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  3. Stefan BellerMay 22, 2018
  4. Alban GruinMay 22, 2018
  5. [GSoC][PATCH 2/4] rebase: strip unused code in git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  6. [GSoC][PATCH 3/4] rebase: use the new git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  7. [GSoC][PATCH 4/4] rebase: remove -p code from git-rebase--interactive.shAlban Gruin, May 22, 2018
  8. Stefan BellerMay 22, 2018
  9. [GSoC][PATCH v2 0/4] rebase: split rebase -p from rebase -iAlban Gruin, May 22, 2018
  10. [GSoC][PATCH v2 2/4] rebase: strip unused code in git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  11. [GSoC][PATCH v2 3/4] rebase: use the new git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  12. [GSoC][PATCH v2 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.shAlban Gruin, May 22, 2018
  13. [GSoC][PATCH v2 4/4] rebase: remove -p code from git-rebase--interactive.shAlban Gruin, May 22, 2018
  14. [GSoC][PATCH v3 0/4] rebase: split rebase -p from rebase -iAlban Gruin, May 24, 2018
  15. [GSoC][PATCH v3 4/4] rebase: remove -p code from git-rebase--interactive.shAlban Gruin, May 24, 2018
  16. [GSoC][PATCH v3 3/4] rebase: use the new git-rebase--preserve-merges.shAlban Gruin, May 24, 2018
  17. [GSoC][PATCH v3 2/4] rebase: strip unused code in git-rebase--preserve-merges.shAlban Gruin, May 24, 2018
  18. [GSoC][PATCH v3 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.shAlban Gruin, May 24, 2018
  19. Junio C HamanoMay 26, 2018
  20. Alban GruinMay 24, 2018
  21. Johannes SchindelinMay 25, 2018
  22. [GSoC][PATCH v4 0/4] rebase: split rebase -p from rebase -iAlban Gruin, May 28, 2018
  23. [GSoC][PATCH v4 1/4] rebase: introduce a dedicated backend for --preserve-mergesAlban Gruin, May 28, 2018
  24. [GSoC][PATCH v4 2/4] rebase: strip unused code in git-rebase--preserve-merges.shAlban Gruin, May 28, 2018
  25. [GSoC][PATCH v4 3/4] rebase: use the new git-rebase--preserve-merges.shAlban Gruin, May 28, 2018
  26. [GSoC][PATCH v4 4/4] rebase: remove -p code from git-rebase--interactive.shAlban Gruin, May 28, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.