diff options
author | Eric Wong <normalperson@yhbt.net> | 2007-03-13 11:40:36 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-03-13 21:18:37 -0700 |
commit | dee41f3e5569f9465018535f02d45796d84aebd8 (patch) | |
tree | f3d009be86e46feee680f8c91d4c5bc29478c4c5 | |
parent | Merge branch 'master' of git://repo.or.cz/git-gui (diff) | |
download | tgif-dee41f3e5569f9465018535f02d45796d84aebd8.tar.xz |
git-svn: add -l/--local command to "git svn rebase"
This avoids fetching new revisions remotely, and is usefuly
versus plain "git rebase" because the user does not have to
specify which remote head to rebase against.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | Documentation/git-svn.txt | 8 | ||||
-rwxr-xr-x | git-svn.perl | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index 9b5a3d6196..a0d34e0058 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -104,6 +104,14 @@ accepts. However '--fetch-all' only fetches from the current Like 'git-rebase'; this requires that the working tree be clean and have no uncommitted changes. ++ +-- +-l;; +--local;; + Do not fetch remotely; only run 'git-rebase' against the + last fetched commit from the upstream SVN. +-- ++ 'dcommit':: Commit each diff from a specified head directly to the SVN diff --git a/git-svn.perl b/git-svn.perl index 326e89fe03..e8457893db 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -56,7 +56,7 @@ my ($_stdin, $_help, $_edit, $_message, $_file, $_template, $_shared, $_version, $_fetch_all, - $_merge, $_strategy, $_dry_run, + $_merge, $_strategy, $_dry_run, $_local, $_prefix, $_no_checkout, $_verbose); $Git::SVN::_follow_parent = 1; my %remote_opts = ( 'username=s' => \$Git::SVN::Prompt::_username, @@ -145,6 +145,7 @@ my %cmd = ( { 'merge|m|M' => \$_merge, 'verbose|v' => \$_verbose, 'strategy|s=s' => \$_strategy, + 'local|l' => \$_local, 'fetch-all|all' => \$_fetch_all, %fc_opts } ], 'commit-diff' => [ \&cmd_commit_diff, @@ -439,7 +440,9 @@ sub cmd_rebase { command_noisy('status'); exit 1; } - $_fetch_all ? $gs->fetch_all : $gs->fetch; + unless ($_local) { + $_fetch_all ? $gs->fetch_all : $gs->fetch; + } command_noisy(rebase_cmd(), $gs->refname); } |