2008-10-30 6 views
4

Je suis en train d'établir de nouvelles pratiques exemplaires en matière de contrôle des sources pour mon organisation, alors je me suis plongé dans des choses comme TreeSurgeon ces derniers jours. Une chose que je vois beaucoup est que c'est une bonne pratique d'inclure vos références dans votre arbre de contrôle source, mais dans un répertoire séparé (lib/in tree chirurgien) plutôt que directement avec votre code comme ils apparaissent naturellement dans ASP Projets .NET. Je connais quelques raisons pour lesquelles il est mauvais de contrôler les sources directement dans le dossier bin, mais je veux comprendre la grande image, y compris la façon dont vous récupérez ces références dans, par exemple, un projet ASP.NET après avoir décroché code du contrôle de la source sur une machine fraîche.Pourquoi la source ne contrôle-t-elle pas directement vos références?

Merci d'avance!

Brian

Répondre

6

Vous voulez que vos dépendances externes dans un dossier distinct pour plusieurs raisons:

  • vous avez la compréhension claire de ce qui est inclus dans ce particulier la dépendance externe
  • vous pouvez ajouter non-construction choses liées comme des liens de sites, de la documentation, des échantillons et autres sans polluer votre projet
  • vous pouvez partager cette dépendance entre plusieurs projets
  • vous ne voulez pas mélanger des artefacts de construction avec la source, car cela rend peu clair ce qui est la propriété de vous/de votre équipe et ce qui n'est pas
  • vous voulez avoir des étapes explicites qui apportent les dépendances externes pendant la construction pour vous assurer que vous avez le contrôle de ce qui est dans l'emballage final
  • sources de branchement crée plusieurs copies de vos dépendances si elles sont mélangées là aussi
  • moins de chances de quelque recrue de vérifier accidentellement dans une autre version d'un fichier et de déconner vos dépendances externes, ainsi déstabilisation de votre projet

Pour répondre à votre deuxième question:

Nous avons généralement une copie de la dépendance externe dans un dossier distinct, mais toujours sous un contrôle de source. Toutes les références de projet pointent vers ce dossier en utilisant des chemins relatifs. Ainsi, lorsque les gens s'enrôlent sur une nouvelle machine, ils obtiennent un ensemble complet de sources plus des dépendances externes prêtes pour la construction du produit.

En outre, notre génération comporte une étape supplémentaire qui génère un dossier de dépôt propre en dehors de l'arborescence source. Ceci est notre copie de déploiement et il contient tous les artefacts de construction et la copie de toutes les sources comme .aspx qui sont nécessaires pour que le produit final fonctionne. Cela oblige les gens à vraiment penser à ce qui doit être inclus dans le produit final.

+0

Réponse très réfléchie, merci. :) –

Questions connexes