Question

Je travaille actuellement avec un partenaire sur un projet PHP.

Nous avons tous deux modifier directement sur un serveur local (tous les fichiers sont stockés sur le serveur, qui exécute également une pile WAMP). Je suis à la recherche d'un client SVN qui surveillera et enregistrer toutes les modifications dans le dossier htdocs, et mettra à jour un dépôt SVN à distance, via le web.

Il serait un bonus si je pouvais manipuler le client SVN à travers une interface web.

Par exemple, dire que je sauve file1.php au serveur. Il mettra à jour file1.php sur le site svn. Si je découvre tout à coup que mes dernières révisions du fichier sont mauvais, je pourrais la tête sur le serveur (ou utiliser une interface web à partir de mon ordinateur), et remplacer file1.php avec une version plus ancienne.

Je ne veux pas installer juste un serveur SVN sur notre machine locale parce que je voudrais toujours avoir une copie de sauvegarde à distance avec les dernières modifications.

Les recommandations?

Était-ce utile?

La solution

Je ne sais pas d'un logiciel pour le faire. Il ne serait probablement pas difficile de ce script en utilisant la ligne de commande client standard svn. C'est à dire. un script batch / shell qui fonctionne régulièrement et vérifie dans tout ce qui a changé.

Cela dit, je très fortement déconseiller le faire!

Le modèle de travail normal de contrôle de source est que tout le monde a une copie locale à travailler, puis les contrôles dans leurs changements à un référentiel central.

Le checkin manuel explicite fait que vous vérifiez que dans des choses qui fonctionne (en général) et vous permet de donner des commentaires checkin précieux.

Ensuite, le serveur peut être mis à jour avec une bonne version connue à partir du référentiel de contrôle de code source.

On dirait que vous travaillez sur un système de production. Je conseille vivement d'envisager l'utilisation d'un environnement de dev (s) et l'approche ci-dessus.

Autres conseils

Si je reçois ce droit votre intention est d'utiliser SVN comme un système de sauvegarde automatique versionné,. Si tel est le cas, la chose la plus simple serait d'utiliser un outil de surveillance de fichier, puis appeler le client svn ligne de commande pour les fichiers modifiés pour les engager à SVN.

Je ne l'ai pas encore essayé, mais SVN-Monitor pourrait être utile. Vous aurez besoin client ToirtoiseSVN mentionné ci-dessus pour travailler avec elle.

Je n'ai trouvé aucun (j'ai eu le même problème).

Nous le faisons en 2 étapes.

Quand je dois développer une partie du logiciel - je branche le tronc et le modifier quand les autres font de même pour accomplir leurs tâches. Ensuite, nous fusionnons les branches et les tester. Après avoir testé le tronc est mis à jour par ce correctif fusionné.

Et enfin Cron (ou manuellement) exécute le script qui définit en mode ressource Maintainance, supprime htdocs et les exportations là-bas nouveau tronc, puis chown / chmod tout au besoin.

Ce script nous pouvons exécuter tout moment par admin panneau, la mise en révision neccesary si nous devons revenir sur des changements buggy rapidement ...

Vous voudrez peut-être envisager un pour le scénario que vous la solution de contrôle de code source distribuer (bazar, Git, Mercurial) proposes, où vous avez deux committers de travail contre deux bases de code. Vous pouvez alors commits locaux et pousser et tirer les modifications apportées aux deux destinations, selon le cas.

Mais aller à votre problème immédiat, vous pourriez avoir besoin d'une sorte d'utilitaire qui surveille les changements de fichiers sur les deux extrémités et appelle ensuite la commande client svn selon le cas dès qu'il détecte les changements

Je ne crois pas qu'il soit possible ou si facile.

Lorsque vous mettez un dossier sous SVN sur le client une structure de dossier spécifique est créé pour garder une trace de ce que les fichiers sont verrouillés, modifiés et ainsi de suite. Essayer de mettre à jour un dossier SVN serveur sans avoir d'abord vérifier les fichiers ou les fichiers d'édition sans les vérifier (comme vous voulez faire) est une mauvaise idée.

Une tâche planifiée qui recueille votre dossier htdocs dans un fichier zip, la version via le nom de fichier, puis le télécharger sur un espace de stockage à distance pourrait être un moyen plus facile et plus rapide de gérer cela.

Je ne sais pas si peut-être le svn crochet post-commit pourrait être utile, étant donné le bon script? Vous pouvez déployer automatiquement les changements de la révision en cours (à savoir la révision vient d'être créé avant d'appeler le crochet) au système de production. Je pense que c'est le genre de chose que vous demandez?

Je dois dire que je suis d'accord avec certains des autres commentaires ici sur le déconseiller-ness de ce que vous proposez. Je recommande une solution dans laquelle vous lancez manuellement le processus de déploiement et la source est ensuite tirée à partir du référentiel.

Toutes mes excuses si j'ai mal compris.

Modifier la question ayant relue, je pense que vous cherchez automatisé engage dans le référentiel, et non les déploiements automatisés hors de lui. Comme cela est le cas, la solution de script prévue proposée par d'autres est la meilleure approche que je peux penser aussi. +1 à ceux qui ont suggéré que.

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