Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdating multiple projects using svn:externals
    text
    copied!<p><strong>Overview</strong></p> <p>I am using VisualSVN in Visual Studio, VisualSVN Server on Windows, and of course, TortoiseSVN. I wanted to know what the best method of sharing multiple projects over multiple solutions was, and if there was a better method.</p> <p><strong>Layout</strong></p> <p>My Repository kind of looks like this (not their real names):</p> <pre><code>Library.Common Library.Web Library.DB Library.CMS Customer1.Site Customer2.Site </code></pre> <p><strong>Process</strong></p> <p>To create a new site that contains common projects:</p> <ol> <li><p>Create Repository in SVN-Server, e.g. "Customer3.Site"</p></li> <li><p>Create Web site using Visual Studio 2008, named "Customer3.Site", VisualSVN used to commit to the repository created in step (1).</p></li> <li><p>Edit properties of Customer3.Site and specify the necessary projects as svn:externals, e.g. "Library.Common", "Library.DB", etc.</p></li> <li><p>Perform an update, to get these external projects, and add them to my solution in Visual Studio, add the necessary references to the Customer3.Site web project and hit build.</p></li> </ol> <p>So far so good.</p> <p><strong>The Problem</strong></p> <p>All this works fine, I am happy that if I have to modify any of the core Library projects I can do so right in the same environment and commit them to the repository. As more and more customer sites are built, I will then have to keep track of what I've done and remember to SVN Update and rebuild those sites which seems quite a long-winded task.</p> <p>Is there a better way of doing this, a more best-practice solution? Am I breaking any fundamental SVN laws by doing it this way? I want to find a good solution that doesn't cost too much time and isn't overly complex either.</p>
 

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