Qui des conventions de nommage utilisez-vous pour SVN Branches et les Tags?
Notre société est la création d'une convention de nommage pour SVN branches et les étiquettes, et je ne suis pas à l'aise avec l'idée de l'aide que la date ou le numéro de version sur les branches/les noms de balise.
Je pense que nous avons besoin de noms qui apporte une plus grande définition sur ce que ce chemin représente, ce que l'effort qui est fait, etc.
Que pensez-vous de /utiliser?
- Je voudrais étendre la question à poser à ce que la convention de nommage peut être utilisé pour différencier des branches expérimentales (big dernières modifications de fusionner plus tard) des branches qui sont créés pour maintenir les anciennes versions. Peut-être il y a encore plus de "sortes" de la branche.
Vous devez vous connecter pour publier un commentaire.
J'ai toujours précéder les balises (et généralement, les branches trop) avec la date au format AAAAMMJJ, suivie par une description de l'objet de l'étiquette ou de la branche.
par exemple, 20090326_Release_v6.5 ou 20090326_Post_Production_Update
C'est en vertu de la norme trunk/tags/branches de la hiérarchie de cours.
La date préfixe assure que toutes les balises ou les branches sont affichés dans l'ordre de création, qui est beaucoup plus utile alors juste d'être triées par description si votre analyse par l'intermédiaire d'un gros dossier de balises. Vous voyez le calendrier de quand et pourquoi ils ont été créés (comme les mini-messages de journal).
Bien, la ramification est plutôt ouverte, car il y a plusieurs sortes de branches, la désignation d'entre eux peuvent être très différentes.
Il vaut la peine de se souvenir de ce contrôle à la source vous donne. Les noms des balises ne sont pas seulement des "v1.4", c'est "/CashCowProject/tags/v1.4". La dénomination d'une balise "/CashCowProject/tags/CashCowProject-v1.4" est un peu redondant, quoi d'autre pourrait-il être?
De contrôle de révision, vous donne également accès complet aux dates et heures que les étiquettes ont été créées.
Révision de contrôle vous donne également des messages de commit qui vous devriez faire usage de, en particulier la première ligne.
Compte tenu de toutes ces informations, il n'est pas difficile à réunir une simple vue de vous donner toutes les informations dont vous avez besoin, en provenance de la cohérence et la pertinence des sources, telles que:
La seule chose que le nom de la balise est vraiment utile ici c'est le numéro de version. Si vous essayez de mettre toutes les informations dans le nom d'une balise, c'est un peu bavard et je parie qu'il ne sera pas aussi bonne.
Pour une branche, le nom après ce qui est fait. Par exemple, j'ai déménagé notre ORM de LINQ to SQL pour NHibernate et créé une branche appelée "NHibernate". Une fois que vous avez terminé la direction générale et fusionnés dans le tronc, vous pouvez supprimer la branche d'enregistrer des conflits de nommage dans l'avenir. Si vous avez vraiment besoin de récupérer la branche que vous le pouvez, vous avez juste à se plonger à nouveau dans l'histoire et de la restaurer.
Si vous avez une histoire/citation/nombre d'emplois qui sont pertinentes à une branche, je voudrais ajouter qu'il le nom de la branche par exemple. "NHibernate_429" de sorte que vous pouvez facilement faire référence à l'encontre de votre système de suivi. Cependant, je suis toujours aller avec les anglais d'abord, que c'est ce que les gens sont plus réaliste d'aller le consulter lorsqu'il est en cours de développement.
Pour des choses comme des balises, il est difficile de dire ce que vous voulez faire dépend de ce que vous êtes de marquage. Si vous êtes marquage libère alors je voudrais utiliser "Version X. X. X. X" ou quelque chose de simple comme ça. Vous vraiment ne vont pas se soucier de ce que la date ou le numéro de version a été lorsque vous êtes à la recherche de retour pour une version spécifique comme un exemple.
L'ensemble de nos développeurs tâches dans un système de suivi des bogues. Ce système de suivi des bogues a Id associés à chaque tâche.
Donc pour le nom de la branche de n'importe quelle tâche, nous utilisons:
Lorsqu'une branche contient plusieurs ticketIds nous venons de les combiner dans le nom de la branche:
De cette façon, si vous êtes dans un billet et vous voulez savoir à quelle branche de construire, vous pouvez facilement regarder. De même, si vous souhaitez trouver le billet avec votre direction, vous pouvez facilement le trouver trop.
Pour les balises, nous avons balise par le numéro de version de lui-même.
Que pour l'emplacement de chaque branche. Nous avons une hiérarchie de niveau supérieur comme ceci:
Puis l'ensemble de nos produits/projets dans chacun d'eux, à l'intérieur de leur propre sous-dossiers.
Ce que nous utilisons (surtout à la suite de la convention acceptée):
Sous le tronc, nous avons le tronc principal.
Dans tags, nous tag, pour chaque version (à la fois interne, les tests de rejets et de la clientèle de rejets). Il nous suffit d'utiliser le numéro de version, comme le nom de la balise.
Sous les branches, nous avons une branche pour chaque version majeure, nous avons publié (dans notre cas le résultat d'un XP itération). Ceux qui sont nommés, comme la version majeure ("v5.03", "v6.04"). En outre, nous avons à l'interne des branches d'importants changements, ou des versions spéciales. Il y a des noms de forme libre, et le nom est censé dire aux gens ce que la branche représente.
Expamples serait "workaround_customerA", "module_x_reorg" etc.
Nous donnons à nos branches un ".X", où les étiquettes ont un certain nombre.
Par exemple, la direction générale se Foo-1.2.3.X, et les balises serait Foo-1.2.3.1, Foo-1.2.3.2, etc.
Nous avons également un tag spécial, Foo-1.2.3.0, qui est faite dès que la branche est créée à partir du tronc, avant toute modification. C'est ainsi que nous pouvons diff branches et des tags à l'état initial à tout moment (puisque dans quelques jours, le tronc est susceptible d'être différent). Cette pratique a fait fusionne un peu plus facile, et il en fait de déterminer quel est le code a changé dans la branche, un ensemble beaucoup plus facile.
Mieux:
comme:
XYZ_14_01_00