2009-11-06 9 views
-1

Peut-être que cette question est plus adapté pour serverfault, mais je vais essayer d'abord ici quand même ...détectant automatiquement un téléchargement FTP et engageant à SVN

Est-ce qu'il y avait un moyen de détecter quand un utilisateur télécharge un fichier sur un serveur et vérifier automatiquement ce fichier dans le contrôle de la source? C'est sur un serveur Solaris 10 avec WebStack.

Je sais que c'est possible à l'inverse, mais j'aimerais vraiment le faire de cette façon. La raison en est que la société utilise maintenant SVN et que nous aimerions garder tous les anciens développeurs (en grande partie amateurs) à l'aise en ne supprimant pas la façon dont ils faisaient les choses.

+0

Alors qu'avez-vous fait? – sbi

+0

Je ne l'ai pas encore revisité. Je devrais un peu plus tard cette semaine, alors je vais marquer une réponse. –

Répondre

0

Vous êtes probablement mieux sur serverfault. Fondamentalement, vous voulez vous connecter à un événement upload sur ftp, alors tout ce que vous aurez à faire est d'exécuter svn ci dans ce répertoire en supposant que le répertoire dans lequel les devs téléchargent est un checkout de l'arbre svn.

Modifier Ce que je l'ai fait dans le passé est d'utiliser la Apache FTP server qui est un ftp pur java. Il vous permet d'écrire ftplets qui peut écouter sur les événements comme ci-dessus. Vous devez simplement étendre la classe DefaultFtplet et implémenter onUploadEnd, onRenameEnd, onDeleteEnd. Pour chaque événement, vous devez exécuter une commande svn, qu'elle soit mise à jour, supprimée ou ajoutée.

À mon ancienne société, nous avons utilisé le téléchargement d'un nouvel artefact sur le ftp pour déclencher une construction dans hudson.

+0

Je me suis dit, bien qu'il semble qu'il y ait encore beaucoup de bonnes idées ici: P Est ce que tu suggères même possible? –

+0

Oh oui, je vais éditer et développer mon idée. – stimms

1

Une chose qui peut être intéressante dans votre situation. Il est possible de mapper svn repository fourni par le biais du serveur Apache à un simple dossier réseau dans Windows (si je ne me trompe pas c'est lié à la prise en charge du protocole WebDAV dans les dernières versions de SVN). Par conséquent, si vos développeurs utilisaient Windows Explorer pour télécharger des fichiers sur FTP, ils peuvent simplement basculer de cette manière sans remarquer la différence. Donc, aucun FTP ne sera nécessaire du tout.

1

Je belive ce que vous voulez est Autoversioning:

... le cas d'utilisation de cette fonctionnalité peut être très attrayante pour les administrateurs travaillant avec les utilisateurs non techniques. Imaginez un bureau d'utilisateurs ordinaires exécutant Microsoft Windows ou Mac OS. Chaque utilisateur "monte" le dépôt Subversion, qui semble être un dossier réseau ordinaire. Ils utilisent le dossier partagé comme ils le font toujours: ouvrir des fichiers, les modifier et les enregistrer. Pendant ce temps, le serveur est automatiquement tout versionner. Tout administrateur (ou utilisateur averti) peut toujours utiliser un client Subversion pour rechercher l'historique et récupérer des versions antérieures de données.

Il vous demandera de rendre votre serveur SVN disponible via un serveur Apache (en utilisant le module mod_dav_svn), cependant.

0

Un de mes collègues a découvert File Events Notification qui est fondamentalement inotify pour Solaris (tel que je le comprends). Nous n'avons pas progressé plus loin avec la recherche, mais une fois que nous faisons, je vais marquer la réponse appropriée ici.

Questions connexes