Question

Lors de la validation sur SVN, je peux ajouter un message de validation de niveau supérieur décrivant en détail ce qui est en cours de validation, mais je souhaiterais idéalement pouvoir commenter les fichiers individuels et ce qui a changé en eux. J'ai déjà vu quelque chose de similaire dans un emploi précédent, mais cela utilisait CVS (et je ne me souviens pas si cela a été réalisé avec un script de brassage maison pour produire le fichier squelette).

J'ai jeté un coup d'œil aux listes de modifications, mais encore une fois, je ne pense pas (bien que je sois prêt à me tromper) que cela donne le type de granularité décrit ci-dessous.

Idéalement, je cherche quelque chose comme:

Foo.vb

  
      
  • Ajout d'une nouvelle barre de fonctions
  •   

Bar.vb

  
      
  • Suppression de la fonction foo
  •   
  • Ajout de la fonctionnalité dans xyz pour faire abc   +/- Fonction modifiée pour enregistrer l'erreur
  •   
Était-ce utile?

La solution

Je le ferais simplement dans le message de validation individuel. TortoiseSVN a l'auto-complétion du nom de fichier, ce qui facilite grandement cette tâche.

Une autre chose à faire est de svn st avant de valider et de copier / coller les noms de fichier dans votre message de validation.

Oh, et assurez-vous de mettre fortement en doute la valeur de ceci. Je sais que certains projets OSS (linux?) Requièrent ce type de fidélité, mais pour de nombreux projets, ce n’est que du bruit. Diff peut vous en dire beaucoup plus et plus précisément.

Vous pouvez également envisager d'utiliser Git . Git vous permet de vous engager localement, par petites étapes. Vous transmettez ensuite au serveur maître tous vos validations individuellement ou écrasées dans une seule validation avec tous les messages de validation dans un seul message. C’était là une explication simplifiée, mais il vaut probablement la peine de vérifier.

Autres conseils

Vous pouvez simplement valider chaque fois que vous avez terminé une tâche en particulier. Cela devrait conduire à de meilleurs commentaires de toute façon. Un commentaire indiquant "Vérification de la messagerie électronique implémentée" sur les trois fichiers nécessaires me dit beaucoup plus que "fonction ajoutée verify_email". Je peux voir ce dernier moi-même dans le diff.

L'une des différences essentielles entre SVN et CVS est que les modifications sont validées de manière atomique. Dans CVS, chaque fichier a sa propre version, mais dans SVN, la version s’applique à l’ensemble du projet et inclut tous les fichiers enregistrés ensemble.

Voici quatre idées de solution:

  1. Enregistrez chacun de vos programmes séparément, avec son propre message de journal. Cela peut signifier que si, par exemple, vous archivez cinq fichiers, vous allez "utiliser" & cinq versions, dont quatre peuvent donner lieu à une construction cassée.
  2. Faites votre développement sur un chemin séparé (c'est-à-dire votre propre branche privée), procédez comme ci-dessus, puis, à des moments stratégiques, fusionnez votre branche avec le tronc.
  3. Tout archiver ensemble et conserver les enregistrements individuels sous forme de commentaires dans l'en-tête du programme. Cela peut signifier (un peu) un travail supplémentaire, mais vous devrez quand même composer les messages de connexion individuels.
  4. Effectuez un seul enregistrement pour tous les fichiers, mais avec un beau message de journalisation détaillant chaque élément de chaque fichier.

J'ai écrit un projet pour ce genre de chose appelé MOAP

L’une de ses fonctions est de générer une entrée ChangeLog à partir de votre diff local (prenant actuellement en charge bazaar, cvs, svn, git et darcs). Pour ce faire, exécutez 'moap changelog prepare' ou 'moap cl prep'. Cette entrée peut inclure des fonctions modifiées également si vous activez cette option.

Vous allez ensuite modifier cette entrée en décrivant vos modifications. Vous pouvez supprimer les fichiers que vous ne voulez pas valider dans le cadre de votre prochain commit.

Ensuite, vous pouvez exécuter 'moap changelog commit' pour valider les modifications décrites dans l'entrée ChangeLog. Il ne fera que valider les fichiers qui y sont listés et laissera toutes vos autres modifications en local.

J'espère que ça aide!

Ce type de résultat peut être obtenu s'il existe des règles concernant la manière dont les commentaires sont écrits dans chacun des fichiers validés. Ces commentaires peuvent ensuite être extraits par un déclencheur svn.

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