Comment organisez-vous votre référentiel de contrôle de version?

Tout d'abord, je sais à ce sujet: Comment voulez-vous organiser un dépôt Subversion pour les projets de logiciels?
Ensuite, la question réelle:
Mon équipe est la restructuration de notre référentiel et je suis à la recherche pour les conseils sur la façon de l'organiser. (SVN dans ce cas).
Voici ce que nous est venu avec. Nous avons un référentiel, plusieurs projets et plusieurs svn:externals renvois

\commonTools /*tools used in all projects. Referenced in each project with svn:externals*/
   \NUnit.v2.4.8
   \NCover.v.1.5.8
   \<other similar tools>
\commonFiles /*settings strong name keys etc.*/
   \ReSharper.settings
   \VisualStudio.settings
\trash /*each member of the team has trash for samples, experiments etc*/
   \user1
   \user2
\projects
   \Solution1 /*Single actual project (Visual Studio Solution)*/
      \trunk
         \src
             \Project1 /*Each sub-project resulting in single .dll or .exe*/
             \Project2
         \lib
         \tools
         \tests
         \Solution1.sln
      \tags
      \branches
   \Solution2
      \trunk
         \src
             \Project3 /*Each sub-project resulting in single .dll or .exe*/
             \Project1 /*Project1 from Solution1 references with svn:externals*/
         \lib
         \tools
         \tests
         \Solution2.sln
      \tags
      \branches

Pour effacer le vocabulaire: Solution de produit unique, le Projet est un Projet Visual Studio (qui résulte en une seule .dll ou unique .exe)

C'est comment nous avons l'intention de jeter le dépôt. Le principal problème est que nous avons de multiples Solutions, mais nous voulons partager des Projets parmi des Solutions.
Nous avons pensé qu'il n'y a pas de point réellement dans l'évolution de ces Projets partagés pour leurs propres Solutions, et au lieu de cela nous avons décidé d'utiliser svn:externals pour partager des Projets parmi des Solutions. Nous voulons aussi tenir ensemble commun d'outils et de 3ème partie les bibliothèques en un seul endroit dans le référentiel, et leur référence dans chaque Solution avec svn:externals.

Que pensez-vous de cette configuration? En particulier à propos de l'utilisation de svn:externals. Ce n'est pas une solution idéale, mais compte tenu de tous les avantages et les inconvénients, c'est le mieux que nous pouvions penser. Comment le feriez-VOUS?

  • Êtes-vous sûr que vous voulez dire "thrash" ? Ou plutôt "trash" ?