2010-10-14 5 views
2

Je suis nouveau à SVN et j'essaie de trouver une structure de flux de travail/SVN pour mon équipe aussi simple que possible.Gestion des dépendances externes dans un référentiel SVN

Actuellement, nous avons un dépôt SVN mis en place pour un usage interne où nous stockons du code pour les projets de développement. Cela semble bien fonctionner, mais il devient difficile lorsque les projets requièrent des bibliothèques externes fonctionnant également sous le contrôle de version.

Actuellement, je cours un script bash pour supprimer récursivement les fichiers .svn de ces bibliothèques externes afin de les ajouter à notre repo, mais je suis sûr que ce n'est pas la meilleure pratique. Ce serait bien d'avoir la possibilité de mettre à jour les dépendances (une sorte de repo à la caisse peut-être).

Des suggestions sur la façon dont je peux améliorer ce processus?

(BTW .. le client SVN que nous utilisons est versions. Nous aimerions éviter des solutions basées sur la ligne de commande, si possible.)

Répondre

3

La fonction que vous recherchez est appelé « externals » . Cela vous permettra de "joindre" un chemin du dépôt SVN externe au vôtre à un endroit particulier. Vous pouvez le configurer pour que les mises à jour d'une copie de travail de votre projet obtiennent également le dernier code du projet externe, ou vous pouvez forcer le projet externe à rester à une révision particulière, si vous voulez plus de contrôle.

La plupart des clients que j'ai utilisés supportent cette fonctionnalité, même si je ne peux pas parler de versions. En guise d'alternative, plutôt que de vérifier le projet externe avec SVN, avez-vous envisagé de télécharger l'archive tar source d'une version particulière du projet?

+0

C'est exactement ce que je cherchais, merci. Excusez mon ignorance, mais quel avantage y a-t-il à une archive tar source de vérifier un projet à partir d'un repo? – findzen

+0

@findzen Si vous voulez vous assurer d'avoir une version exacte telle que publiée par le projet (comme 1.8.0, par exemple) et ne vous voyez pas mettre à jour très fréquemment, cela peut être plus simple que de configurer une propriété svn: external . Tout ce qui convient à votre goût, vraiment. –

Questions connexes