Quel est le nom correct pour un système qui stocke des versions du code source, comme SVN ou TFS?
Je l’ai toujours appelé contrôle de source, mais des endroits comme Wikipedia l’appellent le contrôle de révision?
Pour rendre ces sites plus compliqués comme celui-ci ont un tag pour les deux?
Revision Control est le terme le plus générique, utilisé pour les outils de contrôle de code source mais aussi pour d’autres outils (Word, OpenOffice,…). Il référence une version.
Le contrôle de code source offre un contrôle de révision avec des twigments et des fusions qui ne sont pas toujours disponibles dans tous les outils de révision (Word n’est pas un contrôle de source, mais offre des fonctionnalités de contrôle de révision)
Le contrôle de version est un terme plus général que le contrôle de code source en ce sens qu’il gère toute version (sources, binarys ou tout type de document).
Remarque: SCM signifie Gestion du code source, mais également pour la gestion du code logiciel, afin de refléter la même idée (pas seulement les “sources” sont gérées).
Plus SCM introduit la notion de dépendances entre groupes de fichiers.
Et cela peut aussi inclure la notion de cycle de vie du changement (démarrer un changement, fermer un changement, …) qui mène au système de demande de modification.
J’aime y penser de cette façon:
Le contrôle de révision est ce qu’ils font .
Le contrôle de la source est ce pour quoi je les utilise.
🙂
Il y a trois synonymes décrivant presque la même chose:
diff
, diff3
, patch
, etc. Cet ensemble d’outils peut être étendu pour former une solution de contrôle de code source. Exemple de solution: RCS. repository
avec la possibilité de créer des twigs
distinctes. On suppose également que les twigs peuvent être merged
. Le tagging
est une autre partie de la gestion du code source. Un problème avec la gestion du code source est qu’il a l’abréviation SCM. Cette abréviation est utilisée pour décrire un ensemble plus large d’activités – Gestion de la configuration logicielle . Il y a beaucoup de confusion car la gestion du code source est un sous-ensemble de la gestion de la configuration logicielle qui traite également des activités telles que la gestion des builds, la gestion du déploiement , l’continuous integration , la gestion des dépendances , la gestion des versions , etc. Image illustrant plus clairement la distinction entre tous ces concepts:
La terminologie utilisée n’est pas très précise. Il existe un article décrivant les cinq dimensions pertinentes. Les outils de gestion de données pour le développement de logiciels ne tendent pas à prendre en charge plus de trois d’entre eux de manière cohérente en même temps. Si vous voulez supporter tous les cinq, vous devez décrire un processus de développement:
Peter van den Hamer et Kees Lepoeter (1996) Gestion des données de conception: les cinq dimensions des frameworks CAO, de la gestion de la configuration et de la gestion des données produits, compte rendu de l’IEEE, vol. 84, n ° 1, janvier 1996
Certains systèmes (comme SVN) ont un terme de révision qui représente un nombre associé à un ensemble spécifique de versions de tous les fichiers du référentiel. Dans un tel système, la révision ( révision SVN ) signifie essentiellement la version ( version des sources ). Sinon , le contrôle de révision et le contrôle de version sont les mêmes termes.
Il n’y a pas un nom “correct”, les quatre noms communs sont:
un autre nom est: contrôle de version
Sur la base des tags utilisés sur ce site, “contrôle de source” est le plus populaire (ce qui est tout à fait normal puisque ce site concerne la programmation):
MIL-STD 973 Décrit la gestion de la configuration.
La gestion de la configuration logicielle est identique.
Voir le CMMI pour une explication agréable de SCM / CM.
Les systèmes dont vous parlez sont des systèmes de contrôle de version. Ils version des choses.
L’ancien SCCS était un système de contrôle de code source.
Les systèmes de contrôle de code source maintiennent l’historique des révisions.
Disons que vous changez un fichier de la révision
1.1, 1.2, 1.3.
Au 1.3, nous publions “Awesome Edition” de notre produit.
1.3 est une révision AwesomeEdition est une version.
Dans les systèmes comme CVS, les révisions se produisent sous forme de changements de numérotation et de balises. La numérotation des révisions du référentiel de types SVN confond les clients gouvernementaux qui attendent un comportement de type MIL-STD.
Le grand avantage des normes en matière de gestion du changement est qu’il ya beaucoup de choix.
Si la préséance historique est quelque chose à suivre, le terme devrait être Contrôle du code source – voir http://en.wikipedia.org/wiki/Source_Code_Control_System
Alors, que recherchez-vous exactement maintenant?
Je ne pense pas qu’il y ait un bon terme. Les deux termes, ainsi que certains autres déjà mentionnés dans d’autres réponses sont utilisés essentiellement pour la même chose.
Les personnes à qui vous parlez le connectent à un sens légèrement différent, même en utilisant le même mot – et elles peuvent signifier vraiment la même chose, même si vous utilisez un autre mot.
Là encore, le vocabulaire utilisé autour de ces choses peut également être différent (ou attaché à différentes significations) en rond autour de différentes implémentations logicielles de ce concept.
Tout en écrivant cela, il me semble que c’est un phénomène très naturel – dans d’autres domaines, vous avez aussi plusieurs mots pour le même sens – alors que d’autres soutiendraient qu’il y avait de légères différences, d’autres diraient que ces différences existe vraiment ou ne vaut pas la peine d’y penser. Et il n’est jamais garanti que lorsque deux personnes utilisent exactement le même mot, elles signifient exactement la même chose.
J’ai ajouté un commentaire, mais je pense que cela peut également donner lieu à une réponse. J’ai un sharepoint vue un peu différent des autres commentaires déjà exprimés.
En général, SCM (Software Configuration Management) ou (Source Code Management – terme dérivé), il est facile à comprendre car il est utilisé comme un terme générique qui inclut à la fois le contrôle des révisions et d’autres techniques comme la gestion de base. Voir http://en.wikipedia.org/wiki/Software_configuration_management . En général, les outils SCM modernes, allant de CVS à Git, incluent ces deux techniques et de nombreuses autres fonctionnalités utiles telles que le contrôle des permissions, la gestion des droits, l’audit de sécurité, la personnalisation du stream SCM (ClearCase), le suivi des problèmes. logiciel, etc … Je pense que la liste est ouverte car tout ce qui concerne le changement de logiciel et la gestion peut entrer ici.
La principale confusion vient donc de la compréhension de la différence entre le contrôle de révision, le contrôle de version et éventuellement le contrôle de source. Tout d’abord, tous les termes qui incluent “source” sont tous des termes dérivés, ce qui signifie que certaines personnes sont gênées par tous ces termes génériques (gestion de la configuration, c’est quoi?) ne vous souciez pas des autres cas d’utilisation; ce qui est juste
Concernant le contrôle de révision par rapport au contrôle de version, je pense que le terme correct (dans le contexte d’outils tels que SVN, Git) est Revision Control. À mon avis, avec le terme Revision Control, l’accent est mis sur la gestion des modifications (en plus de la gestion des versions) des fichiers de code source.
En théorie, quelqu’un pourrait écrire un logiciel permettant le suivi et la gestion de fichiers binarys sans diff binary ni prise en charge de la fusion, et appellerait ce système de contrôle de version. Cependant, dans le cas d’outils comme SVN, Git permet en outre de gérer les modifications apscopes aux fichiers: diffing, fusing et, dans le cas de Git, le fameux rebasing.
En conclusion, le contrôle de révision inclut le contrôle de version et est plus approprié pour nommer des outils tels que CVS, SVN, Git; tandis que le contrôle de source est un terme dérivé et devrait être évité si l’on souhaite nommer un aspect de SCM spécifique.
SCM > Revision Control > Version Control