Re: git-svn and a nested branches folder

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 04, 2007 at 10:21:22AM -0500, Russ Brown wrote:
> David Kastrup wrote:
> > Russ Brown <pickscrape@xxxxxxxxx> writes:
> > 
> >> David Kastrup wrote:
> >>> Russ Brown <pickscrape@xxxxxxxxx> writes:
> >>>
> >>>> 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 :-)

-Peter
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux