# Problems with using git svn dcommit

3 messages from 2008-08-31 to 2008-09-01. Participants: Weyert de Boer, Thomas Rast, Eric Wong.
Thread: https://gitlist.dev/t/15296

## Weyert de Boer, 2008-08-31 07:29

Subject: Problems with using git svn dcommit
Message-ID: <c7d83d0d0808310029s15c1413m49cad5c68a568271@mail.gmail.com>
URL: https://gitlist.dev/e/c7d83d0d0808310029s15c1413m49cad5c68a568271%40mail.gmail.com

```
I have initialized a GIT repository for using a subversion repository
hosted at beanstalk.com. Only I have problems with it. Each time I try
to trigger GIT SVN DCOMMIT. I am getting the following error message:

Can't call method "full_url" on an undefined value at
/opt/local/libexec/git-core/git-svn line 425.

Really strange on other repos it's working fine. Anyone might know
what could cause this?

Here you can find some output:
http://www.dustyfrog.nl/dropbox/git-svn-1.txt
http://www.dustyfrog.nl/dropbox/git-svn-2.txt

I am currently using GIT 1.6.0.1 on MacOSX 10.5.4 installed via MacPorts

```

## Thomas Rast, 2008-08-31 13:50

Subject: [PATCH] git svn: catch lack of upstream info for dcommit earlier
Message-ID: <1220190659-5955-1-git-send-email-trast@student.ethz.ch>
URL: https://gitlist.dev/e/1220190659-5955-1-git-send-email-trast%40student.ethz.ch
In-Reply-To: <c7d83d0d0808310029s15c1413m49cad5c68a568271@mail.gmail.com>

```
Since 711521e 'git svn dcommit' attempts to use the upstream
information to determine the SVN URL, before it verifies that it even
found an upstream.  Move up the corresponding check.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

Weyert de Boer wrote:
> Can't call method "full_url" on an undefined value at
> /opt/local/libexec/git-core/git-svn line 425.

After resolving the problem on IRC, here's the fix to avoid the
unhelpful message.


 git-svn.perl |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/git-svn.perl b/git-svn.perl
index 7a1d26d..43bf201 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -421,15 +421,15 @@ sub cmd_dcommit {
 	$head ||= 'HEAD';
 	my @refs;
 	my ($url, $rev, $uuid, $gs) = working_head_info($head, \@refs);
+	unless ($gs) {
+		die "Unable to determine upstream SVN information from ",
+		    "$head history.\nPerhaps the repository is empty.";
+	}
 	$url = defined $_commit_url ? $_commit_url : $gs->full_url;
 	my $last_rev = $_revision if defined $_revision;
 	if ($url) {
 		print "Committing to $url ...\n";
 	}
-	unless ($gs) {
-		die "Unable to determine upstream SVN information from ",
-		    "$head history.\nPerhaps the repository is empty.";
-	}
 	my ($linear_refs, $parents) = linearize_history($gs, \@refs);
 	if ($_no_rebase && scalar(@$linear_refs) > 1) {
 		warn "Attempting to commit more than one change while ",
-- 
1.6.0.1.278.g5a622

```

## Eric Wong, 2008-09-01 03:26

Subject: Re: [PATCH] git svn: catch lack of upstream info for dcommit earlier
Message-ID: <20080901032657.GC25876@hand.yhbt.net>
URL: https://gitlist.dev/e/20080901032657.GC25876%40hand.yhbt.net
In-Reply-To: <1220190659-5955-1-git-send-email-trast@student.ethz.ch>

```
Thomas Rast <trast@student.ethz.ch> wrote:
> Since 711521e 'git svn dcommit' attempts to use the upstream
> information to determine the SVN URL, before it verifies that it even
> found an upstream.  Move up the corresponding check.
> 
> Signed-off-by: Thomas Rast <trast@student.ethz.ch>

Thanks,

Acked-by: Eric Wong <normalperson@yhbt.net>

> ---
> 
> Weyert de Boer wrote:
> > Can't call method "full_url" on an undefined value at
> > /opt/local/libexec/git-core/git-svn line 425.
> 
> After resolving the problem on IRC, here's the fix to avoid the
> unhelpful message.
> 
> 
>  git-svn.perl |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 7a1d26d..43bf201 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -421,15 +421,15 @@ sub cmd_dcommit {
>  	$head ||= 'HEAD';
>  	my @refs;
>  	my ($url, $rev, $uuid, $gs) = working_head_info($head, \@refs);
> +	unless ($gs) {
> +		die "Unable to determine upstream SVN information from ",
> +		    "$head history.\nPerhaps the repository is empty.";
> +	}
>  	$url = defined $_commit_url ? $_commit_url : $gs->full_url;
>  	my $last_rev = $_revision if defined $_revision;
>  	if ($url) {
>  		print "Committing to $url ...\n";
>  	}
> -	unless ($gs) {
> -		die "Unable to determine upstream SVN information from ",
> -		    "$head history.\nPerhaps the repository is empty.";
> -	}
>  	my ($linear_refs, $parents) = linearize_history($gs, \@refs);
>  	if ($_no_rebase && scalar(@$linear_refs) > 1) {
>  		warn "Attempting to commit more than one change while ",
> -- 
> 1.6.0.1.278.g5a622

```
