}
        $head ||= 'HEAD';
 
-       my ($src, $rev, undef, $gs) = working_head_info($head);
+       my (undef, $rev, undef, $gs) = working_head_info($head);
+       my $src = $gs->full_url;
 
        my $remote = Git::SVN::read_all_remotes()->{$gs->{repo_id}};
        my $allglobs = $remote->{ $_tag ? 'tags' : 'branches' };
                next if $seen{$p};
                $seen{$p} = 1;
                push @ret, $p;
-               # MAXPARENT is defined to 16 in commit-tree.c:
-               last if @ret >= 16;
-       }
-       if (@tmp) {
-               die "r$log_entry->{revision}: No room for parents:\n\t",
-                   join("\n\t", @tmp), "\n";
        }
        @ret;
 }
                                next unless $new_parents[$i];
                                next unless $new_parents[$j];
                                my $revs = command_oneline(
-                                       "rev-list", "-1", "$i..$j",
+                                       "rev-list", "-1",
+                                       "$new_parents[$i]..$new_parents[$j]",
                                       );
                                if ( !$revs ) {
                                        undef($new_parents[$i]);