git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-svn does not support intermediate directories?
@ 2009-03-04  1:43 Michael Lai
  2009-03-04  4:30 ` Tim Stoakes
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Lai @ 2009-03-04  1:43 UTC (permalink / raw)
  To: git

Hey all,

  After spending some hours struggling with git svn, it would appear
that it does not support svn projects stored in paths similar to
"http://foo.com/svn/repos/bar/myproject", where "myproject" uses the
standard SVN tags/trunk/branches layout.  I'm currently using git
1.6.1, though I tried this with 1.6.2-rc2 as well.  The resulting
.git/config looks something like this:

[svn-remote "svn"]
	url = http://foo.com/svn/repos/bar
	fetch = myproject/trunk:refs/remotes/trunk
	branches = bar/myproject/branches/*:refs/remotes/*
	tags = bar/myproject/tags/*:refs/remotes/tags/*

Yes, that's a redundant "bar" directory under "branches =" and "tags
=".  The issue seems to lie in git-svn doing something intelligent to
extract the appropriate trunk directory.  For the branches and tags,
however, it just takes the full URL and removes the repository root
(http://foo.com/svn/repos/bar) to produce "bar/myproject/{branches,
tags}/*".  The second effect is that "git svn fetch" will run but exit
quietly without actually pulling anything from the repository.  I
tracked down an existing thread on the mailing list from a while ago
(Feb 4th, title of "git-svn doesn't fetch anything"), but there was no
resolution.

There is a quick workaround, which was to make this change to match_paths:
< 	$self->{path_regex} ||= qr/^\/\Q$self->{path}\E\//;
---
> 	$self->{path_regex} ||= qr/\/\Q$self->{path}\E\//;

The additional "bar" directory gets pulled in when git-svn tries to
determine what paths to pull down, and tries to match
"/myproject/trunk" to "/bar/myproject/trunk".  I've merely put a
band-aid on the situation.  My perl is rudimentary at best, or I'd
have spent additional time to try to put in a "proper" patch, but was
wondering if anyone else had run into this problem and would be
willing to put in a fix (or point me in the right direction, that
works too).

Thanks,
Mike

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-09 21:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-04  1:43 git-svn does not support intermediate directories? Michael Lai
2009-03-04  4:30 ` Tim Stoakes
2009-03-06  0:12   ` [RFC PATCH] " Michael Lai
2009-03-08  4:43     ` Eric Wong
2009-03-09 21:02       ` Michael Lai
2009-03-09 21:54         ` Eric Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).