2008-10-31 9 views
1

Nous devons (occasionnellement!) Émettre des correctifs pour notre produit et ré-émettre les fichiers concernés directement plutôt qu'avec un nouveau programme d'installation. Le produit a un grand nombre de pièces, du code managé, d'autres non gérés.Identification des fichiers pour un correctif/correctif

Actuellement, les indicateurs de développement qui construisent des artefacts (exes, dll) doivent être expédiés dans un correctif logiciel. Nous aimerions pouvoir les identifier automatiquement en les comparant à la version précédente. Un simple binaire diff ne fonctionne pas puisque les numéros de version sur tous les fichiers ont changé comme étant l'emboutissage des fichiers avec un nouveau nombre si une partie de la construction.

Y a-t-il des outils qui permettent une comparaison plus intelligente et qui décident quels fichiers doivent être inclus? Nous aurions encore un développeur vérifier la liste, c'est plus pour attraper des fichiers que le développeur n'a pas pensé que l'inverse.

(Note: la modification du processus fix/build chaud est pas une option immédiate, que ce soit ou non nous expédierons des fichiers individuels est une autre discussion)

Répondre

1

Ce sont les options que je vois:

  • Sur votre ordinateur de génération, obtenez un rapport sur les fichiers qui ont été modifiés et utilisez la structure de répertoire du chemin d'accès au fichier pour déterminer les DLL réellement mises à jour. Vous ne savez pas si cela casse votre règle "pas de modification du processus de construction" ou non.

  • Si vous voulez attendre après la construction je recommanderais d'utiliser un outil de comparaison de fichier binaire comme http://www.romeotango.com/Downloads/FileCompReadMe.txt. En utilisant cela, vous pouvez récupérer un ensemble de différences de sorte que vous avez juste besoin d'obtenir votre script qui utilise l'outil pour ignorer le diff qui se produit en raison du numéro de version. Vous pouvez trouver le modèle de la façon dont le numéro de version apparaît en utilisant un scénario contrôlé où vous savez que les deux fichiers binaires sont les mêmes à l'exception du numéro de version et notez où se trouvent les différences. Faites-le pour quelques-unes de vos DLLs et, espérons-le, un motif apparaîtra suffisamment pour que vous puissiez l'écrire.

Questions connexes