title: git-svn single svn server, multiple svn directories as multiple git remotes
body: <p>Is it possible to have a single subversion server with multiple directories for branches that are each mapped as remotes in a git repository created using git-svn?</p>
  <h3>Existing Setup</h3>
  <ul>
  <li>Trunk: <code>http://svn.example.com/trunk</code></li>
  <li>My branches: <code>http://svn.example.com/developers/luisgo/branches</code></li>
  <li>My tags: <code>http://svn.example.com/developers/luisgo/tags</code></li>
  <li>My scrum team's branches: <code>http://svn.example.com/teams/scrum-01/branches</code></li>
  <li>My scrum team's tags: <code>http://svn.example.com/teams/scrum-01/tags</code></li>
  <li>Company's branches: <code>http://svn.example.com/branches</code></li>
  <li>Company's tags: <code>http://svn.example.com/releases</code></li>
  </ul>
  <p>This is legacy and in the process of being migrated to git BUT I am trying to prove we can use git-svn and have:</p>
  <ul>
  <li>one &quot;personal&quot; remote point to my personal subversion directory on the server</li>
  <li>one &quot;scrum&quot; remote point to my scrum team's subversion directory on the server and</li>
  <li>one &quot;company&quot; remote point to the company's subversion directory on the server</li>
  </ul>
  <p>Note that I don't mind it if my remote's names have to be <code>personal/branches</code>, <code>personal/tags</code>, <code>scrum/branches</code>, <code>scrum/tags</code>, <code>company/branches</code> and <code>company/tags</code> respectively.</p>
  <p>Ultimately I want to be able to create a branch off of trunk (aka company/master) that is not only local but pushed to <code>personal/branches/some-feature-branch</code> and later can be pushed to a different remote (say <code>scrum/branches/some-feature-branch</code> for collaboration and finally pushed to <code>company/some-feature-branch</code> for release. Note that I understand tagging but intentionally omitting that for the purposes of this discussion.</p>
  <p>I thought this would work:</p>
  <pre><code>[core]
      repositoryformatversion = 0
      filemode = true
      bare = false
      logallrefupdates = true
      ignorecase = true
      precomposeunicode = false
      warnambiguousrefs = false
  [svn-remote &quot;svn&quot;]
      url = https://svn.example.com
      fetch = trunk:refs/remotes/trunk
      branches = developers/luisgo/branches/*:refs/remotes/svn/personal/branches/*
      tags = developers/luisgo/tags/*:refs/remotes/svn/personal/tags/*
      branches = teams/scrum-01/branches/*:refs/remotes/svn/scrum/branches/*
      tags = teams/scrum-01/tags/*:refs/remotes/svn/scrum/tags/*
      branches = branches/*:refs/remotes/svn/company/branches/*
      tags = releases/*:refs/remotes/svn/company/tags/*
  </code></pre>
  <p>But it doesn't.</p>
  <h3>EDIT ===========================================</h3>
  <p>I think I explained myself wrong. Technically that example above works. What I am trying to achieve is to have one &quot;remote&quot; create per branching directory so:</p>
  <pre><code>git push personal feature-branch
  </code></pre>
  <p>Results in:</p>
  <pre><code>https://svn.example.com/developers/luisgo/branches/feature-branch
  </code></pre>
  <p>And...</p>
  <pre><code>git push scrum feature-branch
  </code></pre>
  <p>Results in:</p>
  <pre><code>https://svn.example.com/teams/scrum-01/branches/feature-branch
  </code></pre>
  <p>And...</p>
  <pre><code>git push company feature-branch
  </code></pre>
  <p>Results in:</p>
  <pre><code>https://svn.example.com/branches/feature-branch
  </code></pre>
  <p>In essence <code>personal</code>, <code>scrum</code> and <code>company</code> are remotes with different branches/* in the same svn server.</p>
  <p>When I try to do this:</p>
  <pre><code>[core]
      repositoryformatversion = 0
      filemode = true
      bare = false
      logallrefupdates = true
      ignorecase = true
      precomposeunicode = false
      warnambiguousrefs = false
  [svn-remote &quot;company&quot;]
      url = https://svn.example.com
      fetch = trunk:refs/remotes/trunk
      branches = branches/*:refs/remotes/svn/company/branches/*
      tags = releases/*:refs/remotes/svn/company/tags/*
  [svn-remote &quot;personal&quot;]
      url = https://svn.example.com
      fetch = trunk:refs/remotes/trunk
      branches = developers/luisgo/branches/*:refs/remotes/svn/personal/branches/*
      tags = developers/luisgo/tags/*:refs/remotes/svn/personal/tags/*
  [svn-remote &quot;scrum&quot;]
      url = https://svn.example.com
      fetch = trunk:refs/remotes/trunk
      branches = teams/scrum-01/branches/*:refs/remotes/svn/scrum/branches/*
      tags = teams/scrum-01/tags/*:refs/remotes/svn/scrum/tags/*
  </code></pre>
  <p>It tells me I need to resolve an ambiguous setting where I have the same url specified for more than one remote. I get that it is but these do share one trunk.</p>
  <h3>END EDIT ===========================================</h3>
  <p>Any ideas? Is this even possible?</p>
  <p>Thank you,</p>
  <p>Luis</p>
  <p>PS: My apologies if this is not being posted in the right place. I am happy to move it. No need to flame.</p>