Jason Merrill <jason@xxxxxxxxxx> wrote: > Signed-off-by: Jason Merrill <jason@xxxxxxxxxx> > --- > rebase fetches only the SVN parent of the current HEAD; it should > be possible to do that with fetch as well, for instance to support > rebasing with stg rebase rather than git rebase. Hi Jason, the above should be in the commit message. Otherwise, Acked-by: Eric Wong <normalperson@xxxxxxxx> Thanks > Documentation/git-svn.txt | 3 +++ > git-svn.perl | 18 ++++++++++++++---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt > index b7b1af8..85b2c8d 100644 > --- a/Documentation/git-svn.txt > +++ b/Documentation/git-svn.txt > @@ -97,6 +97,9 @@ COMMANDS > makes 'git-log' (even without --date=local) show the same times > that `svn log` would in the local timezone. > > +--parent;; > + Fetch only from the SVN parent of the current HEAD. > + > This doesn't interfere with interoperating with the Subversion > repository you cloned from, but if you wish for your local Git > repository to be able to interoperate with someone else's local Git > diff --git a/git-svn.perl b/git-svn.perl > index d919798..cb718b8 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -63,7 +63,7 @@ $sha1_short = qr/[a-f\d]{4,40}/; > my ($_stdin, $_help, $_edit, > $_message, $_file, > $_template, $_shared, > - $_version, $_fetch_all, $_no_rebase, > + $_version, $_fetch_all, $_no_rebase, $_fetch_parent, > $_merge, $_strategy, $_dry_run, $_local, > $_prefix, $_no_checkout, $_url, $_verbose, > $_git_format, $_commit_url, $_tag); > @@ -112,6 +112,7 @@ my %cmd = ( > fetch => [ \&cmd_fetch, "Download new revisions from SVN", > { 'revision|r=s' => \$_revision, > 'fetch-all|all' => \$_fetch_all, > + 'parent|p' => \$_fetch_parent, > %fc_opts } ], > clone => [ \&cmd_clone, "Initialize and fetch revisions", > { 'revision|r=s' => \$_revision, > @@ -381,12 +382,21 @@ sub cmd_fetch { > } > my ($remote) = @_; > if (@_ > 1) { > - die "Usage: $0 fetch [--all] [svn-remote]\n"; > + die "Usage: $0 fetch [--all] [--parent] [svn-remote]\n"; > } > - $remote ||= $Git::SVN::default_repo_id; > - if ($_fetch_all) { > + if ($_fetch_parent) { > + my ($url, $rev, $uuid, $gs) = working_head_info('HEAD'); > + unless ($gs) { > + die "Unable to determine upstream SVN information from ", > + "working tree history\n"; > + } > + # just fetch, don't checkout. > + $_no_checkout = 'true'; > + $_fetch_all ? $gs->fetch_all : $gs->fetch; > + } elsif ($_fetch_all) { > cmd_multi_fetch(); > } else { > + $remote ||= $Git::SVN::default_repo_id; > Git::SVN::fetch_all($remote, Git::SVN::read_all_remotes()); > } > } > -- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html