-
Comparer deux Phar
Bonjour à tous,
Malgré une recherche assidue, je ne trouve pas réponse à ma question. Sur base de sources récupérées depuis un serveur SVN, je génère un fichier Phar (depuis Phing) pour une application web PHP, jusque là tout vas bien. J'avais comme idée d'archiver cette "version" de mon applicatif à chaque déploiement et naïvement, pour éviter les doublons je souhaitais faire un md5sum sur chaque fichier phar afin de l'identifier : Problème chaque fichier phar généré possède un hash différent, j'ai alors regardé le hash interne au fichier phar (signature) et la aussi il est à chaque fois différent, y compris quand tous les fichiers à l'intérieur sont identiques... Après quelques recherches, j'imagine que la faute vient de la date contenue dans la partie "manifeste" du fichier phar (http://php.net/manual/fr/phar.filefo...nifestfile.php).
Ca n'arrange pas mes affaires !
D'où ma question, existe-t-il un moyen efficace de comparer le contenu de deux fichiers phar ?
Merci d'avance !
PS : j'ai pensé à comparer les versions des différents fichiers contenus dans les répertoires .svn mais je regroupe dynamiquement plusieurs fichiers requis pas mon applicatifs et retrouver les versions SVN après regroupement s'avère alors pénible... j'ai aussi pensé à extraire chaque phar pour comparer fichier à fichier ... mais c'est aussi très pénible. Je suis cependant ouvert à toute solution alors n'hésitez pas !
-
J'aurai tendance à simplifier le problème dire qu'il est inutile d'archiver ce .phar puisque tu archives déjà les sources dans ton SVN :weird:
Si tu souhaites un jour pour X raisons retrouver ce .phar, il te suffira de relancer la compilation sur la version des sources voulues et le tour est joué.
Sinon, si tu souhaites vraiment créer ce JAR pour l'archiver et pour le laisser dispo au téléchargement par exemple, je te conseil de ta baser sur le nom de ce fichier .phar pour l'identifier de manière unique.
Pour être sûr de générer un nom de fichier unique par version, tu peux te baser sur des tags de ton repo SVN (doc et plus de détails ici : http://svnbook.red-bean.com/en/1.7/s...erge.tags.html) qui marque une version d'un commit en tant tel.