summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Seth Falcon <seth@userprimary.net>2008-05-19 20:29:17 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-06-01 14:29:50 -0700
commit7d45e1468331e6253d087e77d9082026320410f5 (patch)
treeb2ffc65da4ae65636fdd0d99e2600ae4f2ce9b01
parentFix path duplication in git svn commit-diff (diff)
downloadtgif-7d45e1468331e6253d087e77d9082026320410f5.tar.xz
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>
-rw-r--r--Documentation/git-svn.txt8
-rwxr-xr-xgit-svn.perl6
2 files changed, 12 insertions, 2 deletions
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index c9e4efe7f4..f4cbd2f212 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -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
diff --git a/git-svn.perl b/git-svn.perl
index ff83358799..dcb8b779c8 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -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');