Hi Jason, the above should be in the commit message.
Otherwise, Acked-by: Eric Wong <normalperson@yhbt.net>
Thanks
Show 65 quoted lines
> 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());
> }
> }
> --