Re: git-svn or git problem...
David Kastrup <dak@gnu.org> wrote:
Show 10 quoted lines
>
> Hi,
>
> I have used git-svn for checking out the trunk of a large Subversion
> archive. The .git subdirectory now sits in the /rep/texlive/trunk
> directory.
>
> But I actually would now want to have the branches (which are pretty
> small in comparison) available in git as well, without checking the
> whole trunk out again.
> Is there a way to move the .git tracking one directory level upwards
> and get the branches into it as well, without checking out the trunk
> again (the trunk is several Gigabytes of size)?
If you're using a 1.5.1 or later version of git-svn, you can do so pretty easily by editing your .git/config:
If you already have something like:
[svn-remote "svn"]
# url here is the repository root, and 'mpc/trunk' in fetch
# is the relative path within the repository
url = https://svn.musicpd.org
fetch = mpc/trunk:refs/remotes/git-svnYou can just add the following lines to the config in the above section:
branches = mpc/branches/*:refs/remotes/*
tags = mpc/tags/*:refs/remotes/tags/*If you have something like:
[svn-remote "svn"]
# url here is the full path of what you're tracking,
url = https://svn.musicpd.org/mpc/trunk
fetch = :refs/remotes/git-svnChange it to something like in the first example (assuming you have read permissions to the repository root).
If recompiling SVN is feasible for you and the branches (as a fresh checkout) are as big as trunk, I highly recommend the do_switch patch for SVN which lets you transfer only a delta between the branch/tag point of trunk:
http://svn.haxx.se/dev/archive-2007-01/0936.shtml
--
Eric Wong