Bonjour,
J'ai développé un outil en Python pour faciliter l'utilisation du système de gestion de sources Subversion. Mon outil, svn_autocommit, surveille des répertoires sélectionnés et détecte les altérations aux fichiers. Par exemple, si un fichier est modifié et sauvegardé, celà constitue une altération. Mon outil éxécute ensuite une série d'opérations sur le fichier altéré: un commit SVN, et une demande à un serveur distant de faire un update SVN sur ce repository.
De cette manière, mon équipe de travail développe en local et les modifications au code sont automatiquement envoyées au serveur de test. Celà facilite le développement et permet de garder un historique complet de toutes les modifications au code.
Mon système est très simple, et fonctionne actuellement aussi bien sur OS X que sur Linux. Je dois d'ailleurs maintenir cette compatibilité entre les deux plateformes. En ce moment, j'intérroge readdir périodiquement et je compare les données avec un cache bâti à même mon application afin de détecter les altérations. Ce n'est pas très efficace, et la latence entre la modification du fichier et la détection de son altération est trop élevée.
J'aimerais utiliser un système plus efficace qui me permettrait de détecter les changements instantanément. Sous linux, il existe SGI FAM (File Alteration Monitor) qui me semble être l'outil parfait. Je n'ai malheureusement trouvé aucune solution compatible avec OS X et Linux. Je crois qu'il existe un système nommé kqueue sous OS X et les autres BSD, mais cette solution n'est pas compatible Linux.
Alors, j'aimerais bien savoir si OS X offre un système que je peux utiliser. Mes exigences sont la compatibilité avec Python et la possibilité d'avoir une application qui fonctionne aussi sous Linux. Si c'est nécéssaire, je peux créer une classe d'encapsulation en python qui me permettra d'utiliser un système de surveillance différant selon la platforme.
Si quelqu'un est intéressé, j'offre mon outil gratuitement sous la license GPL 2. En ce moment, il est très simple et primitif, et n'est pas emballé pour la distribution, mais je vais créer un accès public au SVN du code source si il y a une demande.
Merci de votre aide et de vos suggestions.
J'ai développé un outil en Python pour faciliter l'utilisation du système de gestion de sources Subversion. Mon outil, svn_autocommit, surveille des répertoires sélectionnés et détecte les altérations aux fichiers. Par exemple, si un fichier est modifié et sauvegardé, celà constitue une altération. Mon outil éxécute ensuite une série d'opérations sur le fichier altéré: un commit SVN, et une demande à un serveur distant de faire un update SVN sur ce repository.
De cette manière, mon équipe de travail développe en local et les modifications au code sont automatiquement envoyées au serveur de test. Celà facilite le développement et permet de garder un historique complet de toutes les modifications au code.
Mon système est très simple, et fonctionne actuellement aussi bien sur OS X que sur Linux. Je dois d'ailleurs maintenir cette compatibilité entre les deux plateformes. En ce moment, j'intérroge readdir périodiquement et je compare les données avec un cache bâti à même mon application afin de détecter les altérations. Ce n'est pas très efficace, et la latence entre la modification du fichier et la détection de son altération est trop élevée.
J'aimerais utiliser un système plus efficace qui me permettrait de détecter les changements instantanément. Sous linux, il existe SGI FAM (File Alteration Monitor) qui me semble être l'outil parfait. Je n'ai malheureusement trouvé aucune solution compatible avec OS X et Linux. Je crois qu'il existe un système nommé kqueue sous OS X et les autres BSD, mais cette solution n'est pas compatible Linux.
Alors, j'aimerais bien savoir si OS X offre un système que je peux utiliser. Mes exigences sont la compatibilité avec Python et la possibilité d'avoir une application qui fonctionne aussi sous Linux. Si c'est nécéssaire, je peux créer une classe d'encapsulation en python qui me permettra d'utiliser un système de surveillance différant selon la platforme.
Si quelqu'un est intéressé, j'offre mon outil gratuitement sous la license GPL 2. En ce moment, il est très simple et primitif, et n'est pas emballé pour la distribution, mais je vais créer un accès public au SVN du code source si il y a une demande.
Merci de votre aide et de vos suggestions.