All of lore.kernel.org
 help / color / mirror / Atom feed
* git-svn with multiple branch directories
@ 2009-03-19 23:17 Guido Ostkamp
  2009-03-20 10:04 ` Eric Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Guido Ostkamp @ 2009-03-19 23:17 UTC (permalink / raw)
  To: git

Hello,

I am trying to create a git repo that tracks an SVN repo with multiple 
branch directories.

Is there any way to get this done easily?

It seems the 'git svn' command allows only to specify one 'trunk', 
'branches' and 'tag' directory.

The example usecase is the OpenOffice.org repo (it's just a private 
experiment). I got this svn-sync'ed within 4 evening sessions, the SVN 
size is about ~8 GB with ~270000 commits. Unfortunately their structure is

   branches/
   contrib/
   cws/
   dist/
   patches/
   tags/
   trunk/

where 'cws' and 'branches' both hold branches.

I have seen a web-based article telling one should

   git svn clone <URL>/trunk repo.git

first, and then hack the repo.git/.git/config file manually to add entries 
like

   [svn-remote "b1"]
         url = $SVN_REPO_URL/branches/b1
         fetch = :refs/remotes/b1
   [svn-remote "b2"]
         url = $SVN_REPO_URL/branches/b2
         fetch = :refs/remotes/b2
   [svn-remote "c1"]
         url = $SVN_REPO_URL/cws/c1
         fetch = :refs/remotes/c1
   ...

to later use

   git svn fetch <branchname>

for each branch. But even if that worked, their seems to be no easy way to 
detect newly created branches etc. Additionally, I get two entries listed 
in 'git branch' for each, one of which with extension '@1' (seems to point 
ot the branch point). This doesn't seem to be the case for repo's with 
only one branch directory converted the normal way.

Any ideas?

Best regards

Guido

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

* Re: git-svn with multiple branch directories
  2009-03-19 23:17 git-svn with multiple branch directories Guido Ostkamp
@ 2009-03-20 10:04 ` Eric Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Wong @ 2009-03-20 10:04 UTC (permalink / raw)
  To: Guido Ostkamp; +Cc: git

Guido Ostkamp <git@ostkamp.fastmail.fm> wrote:
> Hello,
>
> I am trying to create a git repo that tracks an SVN repo with multiple  
> branch directories.
>
> Is there any way to get this done easily?
>
> It seems the 'git svn' command allows only to specify one 'trunk',  
> 'branches' and 'tag' directory.
>
> The example usecase is the OpenOffice.org repo (it's just a private  
> experiment). I got this svn-sync'ed within 4 evening sessions, the SVN  
> size is about ~8 GB with ~270000 commits. Unfortunately their structure 
> is
>
>   branches/
>   contrib/
>   cws/
>   dist/
>   patches/
>   tags/
>   trunk/
>
> where 'cws' and 'branches' both hold branches.
>
> I have seen a web-based article telling one should
>
>   git svn clone <URL>/trunk repo.git
>
> first, and then hack the repo.git/.git/config file manually to add 
> entries like
>
>   [svn-remote "b1"]
>         url = $SVN_REPO_URL/branches/b1
>         fetch = :refs/remotes/b1
>   [svn-remote "b2"]
>         url = $SVN_REPO_URL/branches/b2
>         fetch = :refs/remotes/b2
>   [svn-remote "c1"]
>         url = $SVN_REPO_URL/cws/c1
>         fetch = :refs/remotes/c1
>   ...
>
> to later use
>
>   git svn fetch <branchname>
>
> for each branch. But even if that worked, their seems to be no easy way 
> to detect newly created branches etc. Additionally, I get two entries 
> listed in 'git branch' for each, one of which with extension '@1' (seems 
> to point ot the branch point). This doesn't seem to be the case for 
> repo's with only one branch directory converted the normal way.
>
> Any ideas?


You should be able to do something like this:

[svn-remote "svn"]
	url = $SVN_REPO_URL
	branches = branches/*:refs/remotes/branches/*
	tags = tags/*:refs/remotes/tags/*
	fetch = cws/c1:refs/remotes/cws/c1
	fetch = cws/c2:refs/remotes/cws/c2
	fetch = cws/c3:refs/remotes/cws/c3
	...

As for generating the individual fetch lines, I would just pipe
svn ls $SVN_REPO_URL/cws to awk/sed/perl...

-- 
Eric Wong (who just realized he programs in ASP :x)

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

end of thread, other threads:[~2009-03-20 10:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-19 23:17 git-svn with multiple branch directories Guido Ostkamp
2009-03-20 10:04 ` Eric Wong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.