Re: git-svn with non-standard repository layout

2012-12-05 Thread Piotr Krukowiecki
On Tue, Dec 4, 2012 at 10:19 PM, Carsten Fuchs carsten.fu...@cafu.de wrote:
 Hi Piotr,

 Am 2012-12-04 18:29, schrieb Piotr Krukowiecki:

 Is there a way to handle svn repository with following layout?

 repo/trunk
 repo/branches/branch1
 repo/branches/branch2
 repo/branches/work/developer1/branch3
 repo/branches/work/developer1/branch4
 repo/branches/work/developer2/branch5

 see my post at
 http://www.cafu.de/forum/viewtopic.php?f=14t=1092
 heading Branches outside branches/.

 You may need something like
 git config --add svn-remote.svn.fetch
 path.../branchX:refs/remotes/branchX
 for each of your branches.

Thanks,

that works :)

Although not an ideal solution - I have to manually configure all
branches + update them as they are created


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


Re: git-svn with non-standard repository layout

2012-12-05 Thread Stephen Bash
- Original Message -
 From: Piotr Krukowiecki piotr.krukowie...@gmail.com
 Sent: Wednesday, December 5, 2012 11:26:54 AM
 Subject: Re: git-svn with non-standard repository layout
 
 On Tue, Dec 4, 2012 at 10:19 PM, Carsten Fuchs
 carsten.fu...@cafu.de wrote:
  Hi Piotr,
 
  Am 2012-12-04 18:29, schrieb Piotr Krukowiecki:
 
  Is there a way to handle svn repository with following layout?
 
  repo/trunk
  repo/branches/branch1
  repo/branches/branch2
  repo/branches/work/developer1/branch3
  repo/branches/work/developer1/branch4
  repo/branches/work/developer2/branch5
 
  see my post at
  http://www.cafu.de/forum/viewtopic.php?f=14t=1092
  heading Branches outside branches/.
 
  You may need something like
  git config --add svn-remote.svn.fetch
  path.../branchX:refs/remotes/branchX
  for each of your branches.
 
 that works :)
 
 Although not an ideal solution - I have to manually configure all
 branches + update them as they are created

It's not a 100% solution, but you can use a limited glob-like syntax in the 
branches and tags lines of the svn-remote config block.  You still need to do 
some manual work (one entry for each developer), but the wildcards eliminate a 
lot of the grunt work as individual branches are created.  See the very end of 
the git-svn manpage for examples (section titled CONFIGURATION).  I use that 
technique to track a subdirectory of the Slimdevices SVN repo [1], which has a 
similarly complex layout:

repo/7.1/trunk
repo/7.1/branches/branchA
repo/7.1/branches/branchB
repo/7.1/tags/tag1
repo/7.2/trunk
repo/7.2/branches/branchC
...

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


Re: git-svn with non-standard repository layout

2012-12-05 Thread Piotr Krukowiecki
On Wed, Dec 5, 2012 at 5:44 PM, Stephen Bash b...@genarts.com wrote:
 - Original Message -
 From: Piotr Krukowiecki piotr.krukowie...@gmail.com
 Sent: Wednesday, December 5, 2012 11:26:54 AM
 Subject: Re: git-svn with non-standard repository layout

 On Tue, Dec 4, 2012 at 10:19 PM, Carsten Fuchs
 carsten.fu...@cafu.de wrote:
  Hi Piotr,
 
  Am 2012-12-04 18:29, schrieb Piotr Krukowiecki:
 
  Is there a way to handle svn repository with following layout?
 
  repo/trunk
  repo/branches/branch1
  repo/branches/branch2
  repo/branches/work/developer1/branch3
  repo/branches/work/developer1/branch4
  repo/branches/work/developer2/branch5
 
  see my post at
  http://www.cafu.de/forum/viewtopic.php?f=14t=1092
  heading Branches outside branches/.
 
  You may need something like
  git config --add svn-remote.svn.fetch
  path.../branchX:refs/remotes/branchX
  for each of your branches.

 that works :)

 Although not an ideal solution - I have to manually configure all
 branches + update them as they are created

 It's not a 100% solution, but you can use a limited glob-like syntax in the 
 branches and tags lines of the svn-remote config block.  You still need to do 
 some manual work (one entry for each developer), but the wildcards eliminate 
 a lot of the grunt work as individual branches are created.  See the very end 
 of the git-svn manpage for examples (section titled CONFIGURATION).  I use 
 that technique to track a subdirectory of the Slimdevices SVN repo [1], which 
 has a similarly complex layout:

 repo/7.1/trunk
 repo/7.1/branches/branchA
 repo/7.1/branches/branchB
 repo/7.1/tags/tag1
 repo/7.2/trunk
 repo/7.2/branches/branchC

Do you mean something like

   branches = branches/work/*/*:refs/remotes/work/*
   branches = branches/{branch1,branch2}:refs/remotes/branches/*

instead of (currently used)

   branches = branches/work/*/*:refs/remotes/work/*
   fetch = branches/branch1:refs/remotes/branches/branch1
   fetch = branches/branch2:refs/remotes/branches/branch2

I will try that tomorrow.

BTW what's the difference between fetch and branches keys? I could
only find one: fetch does not support glob arguments and branches
do.

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


Re: git-svn with non-standard repository layout

2012-12-05 Thread Stephen Bash
- Original Message -
 From: Piotr Krukowiecki piotr.krukowie...@gmail.com
 Sent: Wednesday, December 5, 2012 5:19:44 PM
 Subject: Re: git-svn with non-standard repository layout
 
 Do you mean something like
 
branches = branches/work/*/*:refs/remotes/work/*
branches = branches/{branch1,branch2}:refs/remotes/branches/*
 
 instead of (currently used)
 
branches = branches/work/*/*:refs/remotes/work/*
fetch = branches/branch1:refs/remotes/branches/branch1
fetch = branches/branch2:refs/remotes/branches/branch2

Essentially yes.  But I guess since you have branches at the same level as the 
work directory, you either have to add to the glob for each new branch or add 
another fetch line...  Doesn't seem like a big win to me.  Jumping on a 
tangent, I thought there could only be one wildcard on the left side of the ':' 
(and the '*' on the right).  If your work/*/* is actually working, that's quite 
interesting.
 
 BTW what's the difference between fetch and branches keys? I could
 only find one: fetch does not support glob arguments and branches
 do.

That's the only difference I've discovered, though someone more familiar with 
the code might be able to say more.

Here's my config for the Slimdevices repo I mentioned:

[svn-remote svn]
url = http://svn.slimdevices.com/repos/slim

fetch = trunk/server:refs/remotes/trunk
fetch = 7.5/trunk/server:refs/remotes/7.5/trunk
fetch = 7.6/trunk/server:refs/remotes/7.6/trunk
fetch = 7.7/trunk/server:refs/remotes/7.7/trunk
fetch = 7.8/trunk/server:refs/remotes/7.8/trunk

branches = branches/*/server:refs/remotes/pre7/*
branches = 7.5/branches/*/server:refs/remotes/7.5/*
branches = 7.6/branches/*/server:refs/remotes/7.6/*
branches = 7.7/branches/*/server:refs/remotes/7.7/*
branches = 7.8/branches/*/server:refs/remotes/7.8/*

tags = 7.5/tags/*/server:refs/remotes/7.5/tags/*
tags = 7.6/tags/*/server:refs/remotes/7.6/tags/*
tags = 7.7/tags/*/server:refs/remotes/7.7/tags/*
tags = 7.8/tags/*/server:refs/remotes/7.8/tags/*

Lots of repetition, but now that I look at it this repo doesn't have the 
branches/work clash yours does, which simplifies the config.

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