Add a --dry-run option to git-svn rebase

When working with multiple branches in an svn repository, it can be
useful to verify the svn repository and local tracking branch that will
be used for the rebase operation.

Signed-off-by: Seth Falcon <seth@userprimary.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Seth Falcon 2008-05-19 20:29:17 -07:00 коммит произвёл Junio C Hamano
Родитель d72ab8c892
Коммит 7d45e14683
2 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -365,11 +365,15 @@ Passed directly to git-rebase when using 'dcommit' if a
-n::
--dry-run::
This is only used with the 'dcommit' command.
This can be used with the 'dcommit' and 'rebase' commands.
Print out the series of git arguments that would show
For 'dcommit', print out the series of git arguments that would show
which diffs would be committed to SVN.
For 'rebase', display the local branch associated with the upstream svn
repository associated with the current branch and the URL of svn
repository that will be fetched from.
--
ADVANCED OPTIONS

Просмотреть файл

@ -177,6 +177,7 @@ my %cmd = (
'strategy|s=s' => \$_strategy,
'local|l' => \$_local,
'fetch-all|all' => \$_fetch_all,
'dry-run|n' => \$_dry_run,
%fc_opts } ],
'commit-diff' => [ \&cmd_commit_diff,
'Commit a diff between two trees',
@ -557,6 +558,11 @@ sub cmd_rebase {
die "Unable to determine upstream SVN information from ",
"working tree history\n";
}
if ($_dry_run) {
print "Remote Branch: " . $gs->refname . "\n";
print "SVN URL: " . $url . "\n";
return;
}
if (command(qw/diff-index HEAD --/)) {
print STDERR "Cannot rebase with uncommited changes:\n";
command_noisy('status');