82 votes

Stocker les bibliothèques de tiers dans le contrôle de code source

Devrait bibliothèques que l'application s'appuie sur être stockées dans la source de contrôle? Une partie de moi dit qu'il devrait et une autre partie en dire aucune. Il se sent mal à ajouter un 20mb bibliothèque qui éclipse l'ensemble de l'application tout simplement parce que vous compter sur un couple de fonctions (mais assez fortement). Devrait vous venez de stocker le pot à l'/dll ou peut-être même l'distribué zip/tar du projet?

Ce que font d'autres personnes?

47voto

Tony BenBrahim Points 3827

magasin tout ce dont vous aurez besoin pour construire le projet de 10 ans à partir de maintenant.Je stocker la totalité du zip de la distribution de n'importe quelle bibliothèque, juste au cas où

27voto

reefnet_alex Points 5850

Ainsi que d'avoir des bibliothèques tierces dans votre référentiel, il vaut la peine de le faire de telle manière qu'il est facile de suivre et de fusion dans les futures mises à jour de la bibliothèque facilement (par exemple, des correctifs de sécurité, etc.). Si vous utilisez Subversion à l'aide d'un bon fournisseur de branche en vaut la peine.

Si vous savez que ce serait un jour froid en enfer avant que vous serez en modifiant votre troisième partie du code, puis (comme @Matt Sheppard a dit) externe de sens et vous donne l'avantage supplémentaire qu'il devient très facile de passer à la dernière version de la bibliothèque mises à jour de sécurité ou une nouvelle fonctionnalité rendre que désirables.

Aussi, vous pouvez sauter externes lors de la mise à jour de votre base de code épargne sur le long et lent processus de chargement en cas de besoin.

@Stu Thompson mentionne le stockage de la documentation, etc. contrôle de code source. Dans les grands projets, j'ai stocké l'ensemble de nos "clients" dans le dossier de contrôle à la source, y compris les factures / factures/ les minutes de la réunion / spécifications techniques etc. L'ensemble de la fusillade. Bien que, hum, ne pas oublier de stocker ces informations dans un référentiel DISTINCT de celui que vous aurez à faire pour les autres développeurs, et le client; votre navigateur "voir la source"...la toux... :)

21voto

Martin Gladdish Points 1797

Ne pas stocker les bibliothèques; ils ne sont pas à proprement parler partie de votre projet et uselessy prendre de place dans votre système de contrôle des révisions. Cependant, l'utilisation de maven (ou de Lierre pour ant construit) pour garder une trace de ce que les versions de bibliothèques externes dans votre projet. Vous devez exécuter un miroir de l'opération au sein de votre organisation (sauvegardé) pour vous assurer de toujours avoir les dépendances sous votre contrôle. Cela devrait vous donner le meilleur des deux mondes externes; pots à l'extérieur de votre projet, mais toujours de manière fiable, disponible et facilement accessible.

16voto

lomaxx Points 32540

Nous stockons les bibliothèques dans le contrôle de source parce que nous voulons être en mesure de construire un projet en cochant simplement le code source et l'exécution du script de construction. Si vous n'êtes pas en mesure d'obtenir la plus récente et la construction en une seule étape, alors vous n'allez courir dans des problèmes plus tard.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X