Comment supprimer un dossier du contrôle de code source avec TortoiseSVN?

129

Comment supprimer un dossier du contrôle de la source avec TortoiseSVN ?

Chance
la source
10
Bonne question. C'est ridiculement compliqué pour ce qui devrait être une tâche simple.
Paul Suart
Une note pour tous ceux qui ont utilisé "SVN Update to revision" (plutôt que svn checkout): essayez à nouveau d'utiliser SVN Update to revision mais cette fois avec la profondeur de mise à jour définie sur Exclude.
Wallace Brown
vous pouvez supprimer le .svndossier associé
ahmednabil88
Je me suis toujours demandé si c'était OK, sous Windows / Tortoise, de SUPPRIMER très simplement un dossier local sur le PC. Donc, il y a un repo REPO sur votre serveur. Et vous en avez une version sur votre PC, LOCALFOLDER. Vous n'avez plus besoin de cette version locale sur ce PC. Dans ce cas, je supprime simplement le dossier LOCALFOLDER sur le PC. (Je ne fais rien, du tout, depuis le menu Tortoise avant de jeter LOCALFOLDER à la poubelle.) Pour être clair, je ne veux pas affecter REPO de quelque manière que ce soit - je ne veux tout simplement plus / n'ai plus besoin de la version LOCALFOLDER. Je me suis toujours demandé si c'était OK pour faire ça?
Fattie
Ou, est-ce que Tortoise garde "quelque chose d'autre" quelque part sur le PC, de sorte qu'à partir de là Tortoise aura l'impression que LOCALFOLDER est manquant?
Fattie

Réponses:

56

Il y a un élément dédié dans le menu contextuel étendu:

  • Maintenez la Shifttouche enfoncée et faites un clic droit sur le dossier.
  • Dans le menu TortoiseSVN, cliquez sur "Supprimer (garder local)"

entrez la description de l'image ici

Image recadrée de la page du menu contextuel étendu de TortoiseSVN .
Supprimez (gardez local) le texte de la documentation.

Bob l'éponge
la source
4
En fait, c'est CTRL + MAJ lorsque vous cliquez avec le bouton droit sur le dossier. Allez Stackoverflow pourquoi ai-je trouvé cette réponse en bas?
hollystyles
4
Quelle version utilisez-vous? La version 1.6.12 n'a pas d'option Supprimer (garder local). Ni Shift ni CTRL + Shift n'aident.
thehhv
1
Je viens de vérifier à nouveau et juste Shift + clic droit fonctionne pour moi. @thehhv version 1.6.10 a toujours l'option.
bob esponja
1
Réponse géniale. Shift + clic fonctionne en effet avec 1.6.10. Après cela, vous devrez toujours valider le fichier pour le voir disparaître du référentiel distant.
hotshot309
2
Cela devrait être marqué comme la réponse car c'est le moyen le plus simple d'utiliser TortoiseSVN
alejosoft
176

Le moyen le plus simple est décrit ici: http://tortoisesvn.net/unversion.html

Cet article est un peu verbeux et certaines des méthodes ne fonctionnaient pas pour moi (comme faire glisser le dossier sur lui-même - Windows 7 ne le permettait pas)).

Voici ce qui, dans l'article, a fonctionné pour moi:

Simple: lorsque vous cliquez avec le bouton droit de la souris sur une copie de travail et choisissez " Exporter ..." dans le menu contextuel, une boîte de dialogue de navigation dans les dossiers s'affiche dans laquelle vous pouvez choisir le dossier dans lequel vous souhaitez exporter la copie de travail. Si vous sélectionnez maintenant le même chemin que votre copie de travail comme cible (c'est-à-dire que vous exportez la copie de travail sur lui-même), TortoiseSVN supprimera tous les dossiers .svn de cette copie de travail.

Stefan
la source
3
Stefan, j'ai essayé la procédure que vous avez décrite et TSVN me montre la boîte de dialogue "Unversion" (avec une barre de progression indiquant la progression), mais après avoir terminé le processus, le dossier est le même qu'avant. J'ai Win7 et le dossier est sur un partage réseau - cela pourrait-il avoir quelque chose à voir avec l'échec de la procédure (silencieusement)? (+1 de toute façon, car cette procédure est exactement ce dont j'ai besoin)
Heinrich Ulbricht
Cela ne devrait pas échouer silencieusement. Êtes-vous sûr que les dossiers .svn cachés sont toujours là?
Stefan
Oui, je peux les voir. Mon problème initial est que je veux me débarrasser de tout un répertoire extrait (y compris les sous-répertoires) sur le partage réseau. Cela a échoué car Windows indique que quelqu'un utilise les fichiers. J'ai donc pensé que ce pourrait être le cache svn et qu'en utilisant une méthode du monde TSVN, je pourrais résoudre ce problème d'accès. Mais pas de chance :(
Heinrich Ulbricht
1
Pour éviter d'avoir à suivre un lien, la procédure est répétée ici: Simple: lorsque vous cliquez avec le bouton droit de la souris sur une copie de travail et que vous choisissez "Exporter ..." dans le menu contextuel, une boîte de dialogue de navigation de dossier apparaît où vous pouvez choisir le dossier dans lequel vous souhaitez exporter la copie de travail. Si vous sélectionnez maintenant le même chemin que votre copie de travail comme cible (c'est-à-dire que vous exportez la copie de travail sur lui-même), TortoiseSVN supprimera tous les dossiers .svn de cette copie de travail.
Charley Rathkopf
Quand j'ai essayé cela, j'ai alors commencé à obtenir des erreurs selon lesquelles le répertoire que j'avais exporté vers lui-même n'était plus "pas un répertoire de travail" et il était "obstrué" et je devrais nettoyer, mais quand j'ai essayé cela (IIRC), j'ai eu une erreur indiquant que le le répertoire racine a été verrouillé. J'ai finalement juste fait un MOVE (faites glisser le dossier vers un dossier non SVN et dans le menu déroulant choisissez "Exporter ...") puis un Supprimer (tous les deux avec Tortoise).
Clay Nichols
12

Si vous souhaitez supprimer le dossier du contrôle de code source mais le conserver localement, le moyen le plus simple serait de

  1. créer une sauvegarde du dossier (il suffit de le copier ailleurs)
  2. suivez les instructions pour le supprimer
  3. restaurer le dossier
  4. dites à Subversion d '"Ignorer" le dossier

Vous devriez également supprimer le .svnrépertoire qui se déplace dans le dossier que vous supprimez ou vous finirez par confondre svn / tortoise. Vous pouvez également faire un "Exporter" pour l'étape 1 qui supprimera tous les .svnrépertoires pour vous (si vous faites cela pour une arborescence de répertoires entière plutôt qu'un seul répertoire, c'est beaucoup plus pratique que de nettoyer les dossiers à la main) .

AwesomeTown
la source
1
Pour (1), vous pouvez exporter pour vous débarrasser des données SVN de la copie.
dahlbyk
Droite - vous devez le supprimer via TortoiseSVN, le restaurer, puis supprimer tous les dossiers svn qu'il contient (ainsi que le fichier .version).
Chance le
* et puis ignorez-le - cela a fonctionné comme un charme (merci)
Chance
Pour moi, le simple fait de l'exporter a éliminé le référentiel SVN et les coches vertes sur le dossier, que je voulais.
Hammad Khan
7

Le menu TortoiseSVN a une option Export qui vous donnera une copie du dossier détaché du référentiel. Vous pouvez également cliquer avec le bouton droit de la souris et faire glisser un dossier et choisir «SVN Exporter vers ici» ou «SVN Exporter tout vers ici».

«Exporter tout» équivaut à sélectionner «Exporter également les fichiers non versionnés» dans la boîte de dialogue Exporter, ce qui clonera efficacement la copie de travail sans les dossiers .svn.

Dahlbyk
la source
6

Vous faites un clic droit sur le répertoire, allez dans TortoiseSVN -> Supprimer . Vous faites ensuite un clic droit sur le répertoire parent et SVN Commit ... et cela supprimera le dossier.

Sean Bright
la source
2
Cela supprimera également le dossier.
tunnuz
C'était la réponse que je cherchais ... Je l'ai également trouvée ici: tortoisesvn.net/docs/release/TortoiseSVN_en/...
Très irrégulier
2

Windows Search, définir le système et l'indicateur de fichiers cachés ... nom de fichier ".svn" ... après la recherche - trier pour que tous les répertoires .svn soient regroupés ... mettre en surbrillance - appuyer sur supprimer :)

Jason P Sage
la source
2

J'ai exécuté la commande tortoise "Update to SVN 1.7" qui a pris tous les dossiers .svn et les a combinés dans un seul dossier. J'ai alors pu supprimer un seul dossier .svn et tout était prêt!

jhilden
la source
2

Je vois qu'il existe trois méthodes simples pour annuler et conserver une version locale d'un fichier (ou d'un répertoire) avec TortoiseSVN:

  1. Exporter sur le même chemin que Stefan a écrit ;
  2. Fonction "supprimer (Keep local)" accessible avec la touche Shift comme réponse de bob esponja ;
  3. Annuler la version et ajouter l' option de liste à ignorer que je signale avec cette réponse

Je trouve cette dernière méthode la plus simple des trois, tandis que la première (la plus votée) la plus longue en termes d'opérations à effectuer.

Zac
la source
2

Supprimez le dossier .svn dans le dossier que vous souhaitez supprimer du contrôle de version.

Akérra
la source
1

C'est ce qui a fonctionné pour moi:

  1. Faites un clic droit sur le dossier / branche que vous souhaitez supprimer et utilisez TortoiseSNV-> Supprimer
  2. Effectuez un nettoyage. Je l' ai fait de la ligne de commande, svn cleanup <path to the folder to delete including folder name>; sinon vous pouvez faire le même clic droit sur le dossier et effectuer un nettoyage.
  3. Accédez au répertoire parent du dossier que vous souhaitez supprimer et validez les modifications.

Cela devrait supprimer le dossier de votre répertoire de travail et de Subversion.

Zen
la source
1

Exporter le dossier vers un nouvel emplacement en sélectionnant l'option «Exporter les fichiers non versionnés vers» a très bien fonctionné pour moi. TortoiseSVN supprime tous les paramètres spécifiques à Subversion et vous obtenez un dossier propre. Vous pouvez maintenant supprimer le dossier d'origine et y déplacer le nouveau dossier exporté.

Rehan Farooq
la source
0

De temps en temps, je me heurte à des dossiers de copie de travail de Subversion que je sais plus vouloir sous le contrôle de version. Je veux les «annuler». Habituellement, je fais une sorte de recherche et de suppression sur tous les dossiers liés .svn, mais il existe un moyen plus simple si TortoiseSVN est installé.

Vous devez être familiarisé avec la commande «Exporter». Cela fera une copie des fichiers dans un nouvel emplacement sans tous ces dossiers .svn embêtants. Si vous voulez «annuler la version» mais que vous ne voulez pas de copie - faites simplement une «exportation» et lorsque Tortoise demande le «dossier à exporter», sélectionnez simplement le même dossier dans lequel se trouve votre copie de travail! Tortoise procédera à la suppression de tous les dossiers .svn.

Citation: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/

gagner
la source
-1

Faites un clic droit sur une copie de travail et choisissez "Exporter ..." dans le menu contextuel. Une boîte de dialogue de navigation dans les dossiers s'affiche.

Vous devez choisir le même chemin que celui de votre copie de travail en tant que cible. TortoiseSVN vous demandera si vous souhaitez supprimer tous les dossiers .svn de cette copie de travail. Dit simplement oui!

Heyjee
la source