Re: git-svn and a nested branches folder
From: Russ Brown <hidden>
Date: 2016-06-15 22:43:33
Peter Baumann wrote:
On Tue, Sep 04, 2007 at 10:21:22AM -0500, Russ Brown wrote:quoted
David Kastrup wrote:quoted
Russ Brown [off-list ref] writes:quoted
David Kastrup wrote:quoted
Russ Brown [off-list ref] writes:quoted
I'm having some trouble with using git-svn to fetch a repository, and I think it's because the repository doesn't store branches as a flat list directly under the 'branches' directory. Basically, we have a structure like this: | +-trunk +-tags +-branches + category-a + branch-a + branch-b + category-b + branch-c + branch-d etc. category-a and category-b are simple directories created using svn mkdir. The branches are created using svn cp. It helps us to organise the branches better, but the rationale is besides the point. The problem is that git-svn seems to want to treat category-a and category-b as branches, which isn't right at all. As a result, git-svn seems to skip most (if not all) revisions that occur in these directories and creates a lot of entries in unhandled.log.So what did you specify in your .git/config file regarding the svn structure?I specified the 'branches' directory, but that's because earlier in the life of the repo we did just do the flat branch layout, but decided to make it more structured once that got unwieldy.Cough, cough. _What_ did you specify in your .git/config file regarding the svn structure? Please quote the section.Erm, sorry. [svn-remote "svn"] url = svn://svn.<name>.com fetch = trunk:refs/remotes/trunk branches = branches/*:refs/remotes/* tags = tags/*:refs/remotes/tags/* (URL changed in case it annoys my employers) I didn't write this by hand: it was generated by git-svn init.Try something like this: [svn-remote "svn"] # trunk fetch = trunk:refs/remotes/trunk # branches fetch = branches/category-a/branch_a:refs/remotes/svn/branch_a fetch = branches/category-a/branch_b:refs/remotes/svn/branch_b fetch = branches/category-b/branch_c:refs/remotes/svn/branch_c # tags tags = tags/*:refs/remotes/tags/* (Not sure if wildcards will work here, but I'm sure you could experiment and try it out :-)
Thanks a lot! I'll try it out. I wonder if I'm going to have to fetch in stages here. i.e. configuring the branches for the original layout, fetching up the point where the layout changed a bit and reconfigure, fetch some more, tweak again etc.
-Peter
-- Russ