2009-08-26 9 views
1

Je suis en train de gérer un projet que j'ai hérité de quelqu'un d'autre et le repo SVN est un peu en désordre. J'ai parcouru et nettoyé la majeure partie, mais il y a un dossier dans le repo où les administrateurs peuvent télécharger des fichiers via un formulaire web dans l'application. Actuellement, ce dossier est en SVN et contient plusieurs images dans SVN. Être le repo SVN est censé être utilisé pour notre code, je veux garder les actifs des clients à partir de si possible.Supprimer le répertoire de SVN sans le supprimer du serveur

Cependant, je n'arrive pas à trouver un moyen de supprimer un répertoire de SVN localement et de ne pas le supprimer du serveur lorsque je fais un svn up plus tard. J'ai essayé de supprimer et d'ignorer dans tortoisesvn mais les répertoires étaient toujours supprimés du serveur.

Il est parfaitement logique que SVN le fasse, car il veut que la copie sur le serveur corresponde à la copie dans le repo. Et je ne suis pas contre le fait de simplement renommer le répertoire, de faire la mise à jour, puis de le renommer puisque c'est assez facile. Je me demandais si quelqu'un connaissait réellement un moyen de le faire?

+0

Je travaille actuellement sur une copie locale et essayé de supprimer localement, engager et ensuite mettre à jour le serveur de production avec un habitué 'svn up'. Mais le même problème se produit dans la situation que vous décrivez où j'essaie de le supprimer sur le serveur avec 'svn delete', puis de le valider. –

+0

Oui, je l'ai juste compris après avoir écrit le commentaire. Voir ma proposition dans ma réponse éditée. – gimpf

Répondre

1

Il n'y a aucun moyen de le faire dans Subversion. Ce que vous pouvez faire est de créer manuellement un fichier dans ce répertoire et ensuite, lorsque Subversion tente de le supprimer, il échouera à le faire.

1

Vous pouvez utiliser sparse checkouts. Avec cette fonctionnalité, vous pouvez sélectionner les répertoires à extraire. Le client se souvient des répertoires que vous ne souhaitez pas mettre à jour, et ne récupère pas les mises à jour ni ne crée une extraction pour ce dossier. Cela doit être fait par copie de travail. Ok, désolé, maintenant après avoir relu ceci, je suis un peu confus. Vous voulez supprimer le dossier pour les extractions des copies de travail du développeur, mais le conserver dans la copie de travail du serveur Web? Que diriez-vous d'utiliser un référentiel différent ou un répertoire de base différent pour le check-out pour le serveur et les développeurs? Quelque chose comme:

  • dev/
    • trunk/branches/tags/
      • src/
  • res/
    • img/ [/ edi t]
Questions connexes