Arnaud Fontaine <[email protected]> writes:
> Merge strategy and its options can be specified in `git rebase`,
> but with `--interactive`, they were completely ignored.
And why is it a bad thing? If you meant s/--interactive/-m/ in the
above, then I can sort of understand the justification, though.
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> old mode 100644
> new mode 100755
I see an unjustifiable mode change here.
> index f953d8d..c157fdf
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -239,7 +239,16 @@ pick_one () {
>
> test -d "$rewritten" &&
> pick_one_preserving_merges "$@" && return
> - output git cherry-pick $empty_args $ff "$@"
> +
> + if test -n "$do_merge"
> + then
So you _did_ mean "rebase -m"?
> + test -z "$strategy" && strategy=recursive
> + output git cherry-pick --strategy=$strategy \
This is a bad change.
I would understand if the above were:
git cherry-pick ${strategy+--strategy=$strategy} ...
in other words, "if there is no strategy specified, do not override
the configured default that might be different from recursive"
(pull.twohead may be set to resolve).
> + $(echo $strategy_opts | sed "s/'--\([^']*\)'/-X\1/g") \
Is it guaranteed $startegy_opts do not have a space in it?
There is a call to "git merge" that uses "${strategy+-s $strategy}",
but it does not seem to propagate the strategy option. Does it need
a similar change? It seems that the first step might be to factor
out these calls to the "git cherry-pick" and "git merge" to helper
functions to make it easier to call them with -s/-X options in a
consistent way.
> + $empty_args $ff "$@"
> + else
> + output git cherry-pick $empty_args $ff "$@"
> + fi
It seems that there is another call to "git cherry-pick" in the
script ("git grep" for it). Does it need a similar change?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html