Question

Dans mon équipe, certains nous nous aidons avec les fusions. C'est-à-dire que mon code est fusionné au tronc par quelqu'un d'autre. Il semble que les informations sur l'auteur ne soient pas entièrement conservées lors d'une fusion. Lorsque j'annote (blâme), la fusion est indiquée comme l'auteur.

La fusion a-t-elle fait quelque chose de mal ou l'auteur d'origine n'est-il pas conservé dans une fusion?

Était-ce utile?

La solution

Si votre serveur fusionne le suivi et que vos outils clients sont la version 1.5 ou version ultérieure, cela fonctionnera:

svn blame --use-merge-history TARGET

Autres conseils

Une fusion ressemble à quelqu'un de coché, a apporté un chargement de modifications en même temps, puis s'est engagé. Celui qui a fait le commit final après la fusion sera affiché en tant qu'auteur. Si vous demandez aux gens d'aider à la fusion, assurez-vous qu'ils le font sous le nom d'utilisateur de la personne à laquelle vous souhaitez qu'il soit attribué.

Après avoir dit tout cela, si quelqu'un fait une erreur dans la fusion, vous voulez le nom de la personne qui a «aidé» la fusion si elle était celle qui le faisait, sûrement?

La seule information sur le serveur SVN est l'auteur de The Commit. C'est ce que le blâme / annoter utilisera.

Donc non, l'auteur n'est pas conservé pendant ce type de fusion. Cela nécessiterait beaucoup plus d'informations que les manches SVN.

À mon avis, l'approche que la fusion n'est pas faite par l'auteur de l'Orignal est erronée ... mais c'est une autre histoire.

En subvérisation, chaque commit est associé à un auteur. Une fusion ne peut être effectuée que dans une copie de travail qui appartient à un auteur particulier. À mon avis, les informations dans SVN sont correctes, car le gars qui a fusionné le code est "responsable" de la fusion ... donc la relation avec son nom est correcte.

Je ne suis pas sûr à 100%, mais je pense que la réponse serait: oui et non ... Annotate Afaik ne vous montrera que l'auteur qui a apporté le changement le plus récent dans cette ligne de code. Ceci, dans votre cas, serait la personne qui a fait la fusion. Si vous devez aller plus loin, vous devez blâmer la version avant la fusion.

Une fusion force changer la svn:mergeinfo propriété. Dans ce cas, les auteurs des engagements originaux pour une fusion donnée peuvent être découverts indirectement.

Mais ce n'est qu'un bandaid - si vous voulez un véritable suivi d'auteur via les fusions, vous devrez peut-être passer à un outil d'outil conçu pour le développement distribué: quelque chose comme git, hg, ou même darcs.

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