Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There's actually a Subversion script that does this for you called <a href="http://www.cri.ensmp.fr/~coelho/svn-merge-repos.html" rel="nofollow">svn-merge-repos.pl</a></p> <p>I'm not 100% sure you're understanding the concept of how Subversion works. Did you go through the <a href="http://svnbook.com" rel="nofollow">Subversion book</a>?</p> <p>In Subversion, there are no real <code>tags/labels</code> or <code>branches</code> metadata like you find in many version control systems. Instead, you put tags and branches in their own directories. To create a branch or tag, you copy what you want to branch or tag into the directory:</p> <pre><code># Creating a branch for 2.0 development from trunk $ cp http://server/svn/module/trunk http://server/svn/module/branches/2.0 # Tagging my 2.0 development as 2.0.1 $ cp http://server/svn/module/branches/2.0 http://server/svn/module/tags/2.0.1 </code></pre> <p>In theory, you can simply create a new <code>branch</code> or <code>tag</code> directory for each release and branch you're working on without a need for merging repositories. That's what I did when I did a StarTeam to Subversion conversion. The problem is that you lose the relationship between say revision 2.0.1 and 2.0.2 since they don't share a common history. 99% of the time, that's not really a problem, and you can always go back to the original StarTeam archive if you need anything. In a few months, no one will care.</p> <p>However, if you know the relationship between branches and tags, and want to keep that information, you'll have to do the two step script I described above.</p> <p>For example, you have a <code>2.0</code> branch that comes from <code>trunk</code>, a <code>2.0.1</code> tag, a <code>2.0.2</code> tag, and a <code>2.0.3</code> tag, you might want to do this:</p> <ul> <li>Put branch 2.0.1 release onto trunk.</li> <li>Copy trunk to <code>branches/2.0</code>.</li> <li>Put the next branch on trunk and copy it to its branch (use the svn-merge-repos.pl script)</li> <li>Finally, put the current trunk.</li> <li>Now go to that <code>branches/2.0</code> directory and copy that to <code>tags/2.0.1</code>. Using the svn-merge-repos.pl script, create the <code>2.0.1</code> release on <code>branches/2.0</code> and copy that to <code>tags/2.0.2</code>. Keep going until you get to the tip of the 2.0 branch.</li> </ul> <p>That takes a lot longer to do, but it's feasible. Last time I did that, it took me about a week and a half to do the entire <em>conversion</em>. Fortunately, I did the trunk first and then the active release which I could do in a day. Then, worked my way back to the less active stuff.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload