Code

Add a --dry-run option to git-svn rebase
authorSeth Falcon <seth@userprimary.net>
Tue, 20 May 2008 03:29:17 +0000 (20:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 1 Jun 2008 21:29:50 +0000 (14:29 -0700)
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>
Documentation/git-svn.txt
git-svn.perl

index c9e4efe7f4678ecc0beb87b387c71a7ebd0efc71..f4cbd2f212e544f0a17c761a4c870a925db5802b 100644 (file)
@@ -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
index ff8335879961bdb65be9dd4cce89d6aada3aeaf0..dcb8b779c8c97df8197185d614a11568ed84cbe8 100755 (executable)
@@ -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');