Re: [PATCH 5/8] rebase: introduce the --recreate-merges option
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jan 19, 2018, 10:55 UTC
- Message-ID
- <CAPig+cQZTd77oqod8EZbXqroaaYb7oYbXUOW+jWFfRMrOMonPw@mail.gmail.com>
- In-Reply-To
- <71c42d6d3bb240d90071d5afdde81d1293fdf0ab.1516225925.git.johannes.schindelin@gmx.de>
On Thu, Jan 18, 2018 at 10:35 AM, Johannes Schindelin <johannes.schindelin@gmx.de> wrote:
Show 17 quoted lines
> [...]
> With this patch, the goodness of the Git garden shears comes to `git
> rebase -i` itself. Passing the `--recreate-merges` option will generate
> a todo list that can be understood readily, and where it is obvious
> how to reorder commits. New branches can be introduced by inserting
> `label` commands and calling `merge - <label> <oneline>`. And once this
> mode has become stable and universally accepted, we can deprecate the
> design mistake that was `--preserve-merges`.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> @@ -900,6 +900,7 @@ fi
> if test t != "$preserve_merges"
> then
> git rebase--helper --make-script ${keep_empty:+--keep-empty} \
> + ${recreate_merges:+--recreate-merges} \If the user specifies both --preserve-merges and --recreate-merges, it looks like --preserve-merges will take precedence.
Should git-rebase.sh have a mutual-exclusion check and error out if both are specified?
Show 11 quoted lines
> $revisions ${restrict_revision+^$restrict_revision} >"$todo" ||
> die "$(gettext "Could not generate todo list")"
> diff --git a/git-rebase.sh b/git-rebase.sh
> @@ -262,6 +264,10 @@ do
> + --recreate-merges)
> + recreate_merges=t
> + test -z "$interactive_rebase" && interactive_rebase=implied
> + ;;
> --preserve-merges)
> preserve_merges=t
> test -z "$interactive_rebase" && interactive_rebase=implied