2008-09-26 10 views
3

Où je travaille J'ai plusieurs projets dans des référentiels distincts. Chaque projet partage beaucoup de code commun que je veux sortir dans un projet distinct. Je pense à appeler le projet avec le schéma suivant: Company.Department.Common or Company.Department.Utility.Intégration de sources externes dans une construction

J'ai construit un projet pour cela et il a un script de construction automatisé (comme tous les autres projets).

Ma question est que je voudrais refactoriser mes projets existants pour dépendre de ce nouveau projet. Une méthode qui est assez basique mais pas exactement ce que je cherche est de simplement construire mon projet utilitaire, copier la DLL dans mon dossier lib dans mon projet consommateur et vérifier cette DLL avec ce projet consommateur.

Personnellement, je pense que cette méthode est assez pauvre. Je voudrais avoir une référence à mon projet utilitaire et effectuer une mise à jour svn et la construction du projet utilitaire avant la construction du projet consommateur. Pour le projet Utlity, les types de code utilisés dans le projet Utlity sont les installations de journalisation, les classes de test d'unité BDD, les facettes IoC et les classes ciblées Common Company.Department.

Espérons que ma question n'est pas trop vague, mais avec quelques réponses, je pourrais être en mesure d'affiner exactement ce que je voudrais faire. Enfin, ceci est pour les projets .Net et en utilisant NAnt comme script de construction, et svn pour le versionnement du code.

Répondre

6

Greg a raison car vous voudrez probablement utiliser la fonction svn: external. J'ai créé un guide étape par étape sur la façon de faire cela sur Windows avec TortoiseSVN. Je l'ai trouvé assez confus les premières fois que je l'ai utilisé. J'ai créé le guide, pour que je puisse le chercher, car je ne le fais pas tout le temps.

Using svn:externals with Windows

+0

Merci, la prochaine étape pour moi est de comprendre l'intégration de la source externe, mais au moins la première étape est comprise. –

1

Avez-vous vérifié la fonctionnalité svn:externals? Cela vous permet de faire apparaître un référentiel différent en tant que sous-répertoire d'un référentiel de niveau supérieur. Si je comprends ce que vous essayez de faire, cela pourrait aider.

+0

J'ai entendu quelque part qu'il ya des problèmes avec l'utilisation d'un svn: externals dans le même référentiel (notamment en ce qui concerne les sauvegardes faire, qu'il provoque le mal circulaire checkouts). Savez-vous si c'est (toujours) un problème? –

+0

Je n'ai jamais utilisé svn: externals en pointant vers le même référentiel. Cela sonne certainement comme pouvant causer des problèmes, car svn: externals est destiné à pointer vers un dépôt * autre *. –

Questions connexes