Question

J'apprends mercurial que mon logiciel solo scm. Avec d'autres logiciels de gestion, vous pouvez mettre des commentaires sur les changements dans l'en-tête de fichier grâce à des balises. Avec hg vous commentez le jeu de changement, et qui ne soit pas dans la source. Je suis plus habitué au contrôle central comme VSS.

Pourquoi devrais-je mettre l'histoire de fichier dans l'en-tête du fichier source? Dois-je laisser gérer mercurial l'histoire avec mes commentaires changeset?

Était-ce utile?

La solution

Laissez le système de contrôle de source gérer.

Si vous mettez les détails de changement dans l'en-tête, il va bientôt devenir difficile à manier et submerger le code réel.

En outre, si le scm a le concept de changelists (où de nombreux fichiers sont regroupés en un seul changement), alors vous serez en mesure d'écrire le commentaire afin qu'il applique à l'ensemble du changement et pas seulement les modifications dans un seul fichier (si cela fait sens), vous donnant une image plus claire des raisons pour lesquelles la modification était nécessaire.

Autres conseils

Oui; laisser le système de contrôle de source gérer vos commentaires changeset. La raison est que cela fait beaucoup plus de sens lorsque vous affichez le journal des modifications plus tard, à essayer de comprendre ce qui se passe entre deux versions d'un fichier - le système de contrôle de code source peut présenter le commentaire de changement d'essayer et d'éclairer la situation .

Il n'y a aucune raison de maintenir manuellement un historique des fichiers lorsque le logiciel SCM est beaucoup mieux adapté pour résoudre ce problème. Trop souvent, je vois des histoires de fichiers partiellement remplis dans la source, ce qui nuit en fait, parce que les gens pensent à tort qu'il est exact.

La différence est pas que ce soit un VCS centralisé ou distribué, il est plus sur ce qui est changé.

Quand je suis arrivé à .Net, le nombre de fichiers mis à jour pour tout changement individuel semblait monter en flèche. Si je devais enregistrer le changement de chaque fichier, je ne peux plus me travail réel. En commentant l'ensemble des changements, il n'a pas d'importance combien de fichiers que je devais mettre à jour.

Si jamais je besoin d'identifier tous les changements pour un changement particulier, je peux diff entre les deux versions du projet.

La plus grande différence (et l'avantage) j'ai vu lors du passage loin de SourceSafe était le passage de fichier basé au projet commits sur la base. Dès que je me suis habitué à cela, je me suis arrêté d'ajouter des commentaires de type changement de journal à tous mes fichiers.

(Comme un effet secondaire, j'ai trouvé que mes commentaires Description du processus ont obtenu mieux)

Je ne suis pas un grand partisan de jonchant le code avec des commentaires de changement. Dans le cas où ils sont nécessaires, ils peuvent être consultés dans le SCM (au moins pour les variantes SCM J'ai utilisé). Si vous les voulez dans le fichier, pensez à les mettre à la fin au lieu du début. De cette façon, vous ne serez pas faire défiler vers le bas après les commentaires (sans intérêt, pour moi au moins) avant d'arriver à le code réel.

Un autre vote pour laisser le système SCM gère les commentaires checkin, mais j'ai une chose à ajouter.

Certains systèmes vous permettent d'utiliser les balises RCS dans votre code source où le SCM peut insérer l'historique des modifications directement dans le fichier source étant automatiquement validée. Sonne comme un bon équilibre parce que l'histoire est alors dans le système SCM, puis mis automatiquement dans le code source lui-même.

Le problème est que ce processus modifie le fichier source . Je pense que ce soit une mauvaise idée parce que le fichier ne peut pas être modifié sur le disque jusqu'à ce que vous commentaire est inséré. Si vous étiez un bon ingénieur, vous devriez avoir construit et testé des modifications avant la validation. Si vous changez de source après la validation, vous avez essentiellement obtenu une génération qui pourrait être cassé - mais la plupart des ingénieurs ne construirez pas après une validation - pourquoi devraient-ils

Mais il est juste un commentaire que vous dites! Certes, mais j'ai eu un cas où il y avait un code dans mon fichier source qui étrangement avait des raisons de regarder comme une balise d'en-tête de RCS et que l'article du code se sont replacés sur checkin, munging ainsi mon code . assez facile à corriger, mais mauvais qu'une accumulation se est cassé pour 20+ utilisateurs

Beaucoup plus facile d'oublier de maintenir l'histoire dans la source, comme on a toujours (imo) devrait commenter commits à la source système de contrôle qui dissappers problème. Aussi, si l'évolution de nombreux fichiers commettent avant, changer l'histoire dans chaque fichier sera un travail ennuyeux. C'est vraiment l'un des points d'avoir scm.

J'ai l'expérience avec cela. J'ai eu l'histoire de fichier dans les commentaires, il était terrible . Rien que des ordures, parfois vous auriez à faire défiler vers le bas presque 1k lignes des changements de code avant de finalement obtenu ce que vous vouliez. Sans oublier, vous ralentir les autres aspects de votre processus de construction en ajoutant plus de kb à votre arbre de code source.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top