git svn: use rebase --rebase-merges instead of preserve-merges
cover git svn: use rebase --rebase-merges instead of preserve-merges
By now, git rebase -r is on par with git rebase -p (or better), at least as far as git svn's usage is concerned. So let's use the former instead of the (deprecated) latter option.
Johannes Schindelin (1):
git svn: stop using rebase --preserve-merges
Documentation/git-svn.txt | 3 ++- git-svn.perl | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-)
base-commit: d9f6f3b6195a0ca35642561e530798ad1469bd41
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-295%2Fdscho%2Fuse-rebase-r-in-git-svn-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-295/dscho/use-rebase-r-in-git-svn-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/295
Signature · 1 line
gitgitgadget
PATCH 1/1 git svn: stop using `rebase --preserve-merges`
From: Johannes Schindelin <[email protected]>
We deprecated --preserve-merges in favor of --rebase-merges; Let's reflect that in git svn.
Note: Even when the user asks for --preserve-merges, we now silently pass --rebase-merges to git rebase instead. Technically, this is a change of behavior. But practically, git svn only ever asks for a non-interactive rebase, and --preserve-merges and --rebase-merges are on par with regard to that.
--- Documentation/git-svn.txt | 3 ++- git-svn.perl | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-)
Documentation/git-svn.txt +2 -1
@@ -677,7 +677,8 @@ config key: svn.authorsProg -s<strategy>:: --strategy=<strategy>:: -p:: ---preserve-merges:: +--rebase-merges:: +--preserve-merges (DEPRECATED):: These are only used with the 'dcommit' and 'rebase' commands. + Passed directly to 'git rebase' when using 'dcommit' if a
git-svn.perl +5 -4
@@ -110,7 +110,7 @@ sub _req_svn { $_template, $_shared, $_version, $_fetch_all, $_no_rebase, $_fetch_parent, $_before, $_after, - $_merge, $_strategy, $_preserve_merges, $_dry_run, $_parents, $_local, + $_merge, $_strategy, $_rebase_merges, $_dry_run, $_parents, $_local, $_prefix, $_no_checkout, $_url, $_verbose, $_commit_url, $_tag, $_merge_info, $_interactive, $_set_svn_props);
@@ -270,7 +270,8 @@ sub _req_svn { 'local|l' => \$_local, 'fetch-all|all' => \$_fetch_all, 'dry-run|n' => \$_dry_run, - 'preserve-merges|p' => \$_preserve_merges, + 'rebase-merges|p' => \$_rebase_merges, + 'preserve-merges|p' => \$_rebase_merges, %fc_opts } ], 'commit-diff' => [ \&cmd_commit_diff, 'Commit a diff between two trees',
@@ -1054,7 +1055,7 @@ sub cmd_dcommit { 'If you are attempting to commit ', "merges, try running:\n\t", 'git rebase --interactive', - '--preserve-merges ', + '--rebase-merges ', $gs->refname, "\nBefore dcommitting"; }
@@ -1717,7 +1718,7 @@ sub rebase_cmd { push @cmd, '-v' if $_verbose; push @cmd, qw/--merge/ if $_merge; push @cmd, "--strategy=$_strategy" if $_strategy; - push @cmd, "--preserve-merges" if $_preserve_merges; + push @cmd, "--rebase-merges" if $_rebase_merges; @cmd; }
Signature · 1 line
gitgitgadget
Re: [PATCH 1/1] git svn: stop using `rebase --preserve-merges`
Quoted 10 lines · Johannes Schindelin via GitGitGadget
From: Johannes Schindelin <[email protected]>
We deprecated
--preserve-mergesin favor of--rebase-merges; Let's reflect that ingit svn.Note: Even when the user asks for
--preserve-merges, we now silently pass--rebase-mergestogit rebaseinstead. Technically, this is a change of behavior. But practically,git svnonly ever asks for a non-interactive rebase, and--preserve-mergesand--rebase-mergesare on par with regard to that.
I've never used --preserve-merges or --rebase-merges even with standalone git; but this seems fine as there's no actual behavior change...
Quoted 1 line
Signed-off-by Johannes Schindelin <[email protected]>
Thanks.