* 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.