------------------------- On Fri, Oct 31, 2014 10:34 GMT Eric Wong wrote: >This avoids the following failure with normal "get_dir" on newer >versions of SVN (tested with SVN 1.8.8-1ubuntu3.1): > > Incorrect parameters given: Could not convert '%ld' into a number > >get_dir2 also has the potential to be more efficient by requesting >less data. > >ref: <1414636504.45506.YahooMailBasic@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> >ref: <1414722617.89476.YahooMailBasic@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> > >Signed-off-by: Eric Wong <normalperson@xxxxxxxx> >Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Okay, this one on top of my "git 2.1.0 + 10 recent git svn improvement patches" allow me to fetch further. I suspect the problem must be elsewhere though, and this just band-aided over it. For me, reverting the additional patches and just use git 2.1.0 also allow me to fetch further, so the problem appear to me to be associated with the additional patches. But you are saying that git-svn on debian as shipped exhibit this problem? >--- > Sorry, waaay past my bed time. This version doesn't infinite loop > on autoload or older SVN(*) (at least I hope it doesn't) > > perl/Git/SVN/Ra.pm | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > >diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm >index 82d6108..496f430 100644 >--- a/perl/Git/SVN/Ra.pm >+++ b/perl/Git/SVN/Ra.pm >@@ -177,7 +177,17 @@ sub get_dir { > } > } > my $pool = SVN::Pool->new; >- my ($d, undef, $props) = $self->SUPER::get_dir($dir, $r, $pool); >+ my ($d, undef, $props); >+ >+ if (::compare_svn_version('1.4.0') >= 0) { >+ # n.b. in addition to being potentially more efficient, >+ # this works around what appears to be a bug in some >+ # SVN 1.8 versions >+ my $kind = 1; # SVN_DIRENT_KIND >+ ($d, undef, $props) = $self->get_dir2($dir, $r, $kind, $pool); >+ } else { >+ ($d, undef, $props) = $self->SUPER::get_dir($dir, $r, $pool); >+ } > my %dirents = map { $_ => { kind => $d->{$_}->kind } } keys %$d; > $pool->clear; > if ($r != $cache->{r}) { >-- >EW > -- 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