Using git-svn fetch after a directory change with rewrite-root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
We use git-svn to sync with SVN. We set the "rewrite-root" attribute
to a dummy URL as different people use different SVN mirrors to update
their git repository. Recently, the trunk directory in SVN was
renamed. After this, with git version 1.7.3 or later, we are not able
to fetch. We get an SVN error ("RA layer request failed: ...: 200
OK"). git version 1.7.0 seemed to work OK. On debugging further, I
found that in the following lines, $url has the rewrite-root prefix
whereas $gs->full_url has the actual url prefix and thus the "last if"
fails.

while (1) {
	# It is possible to tag two different subdirectories at
	# the same revision.  If the url for an existing ref
	# does not match, we must either find a ref with a
	# matching url or create a new ref by growing a tail.
	$gs = Git::SVN->init($u, $p, $repo_id, $ref_id, 1);
	my (undef, $max_commit) = $gs->rev_map_max(1);
	last if (!$max_commit);
	my ($url) = ::cmt_metadata($max_commit);
	last if ($url eq $gs->full_url);
	$ref_id .= '-';
}
print STDERR "Initializing parent: $ref_id\n" unless $::_q > 1;

I wonder if commit 3235b7053c45a734c1cdf9b117bda68b7ced29c9 handles
rewrite-root correctly. Should the comparison be made with
$gs->metadata_url instead of $gs->full_url?

H. Krishnan
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]