94 votes

Suppression d'une branche SVN

J'ai créé une branche d'un projet SVN appelée 'features', et maintenant, chaque fois que j'essaie de mettre à jour ledit projet, il apporte avec lui un dossier features, qui contient une autre copie du projet de la branche.

Existe-t-il un moyen de supprimer complètement la branche du référentiel pour que cela ne se produise plus ?

111voto

Wim Coenen Points 41940

Bien sûr : svn rm le dossier indésirable, et valider.

Pour éviter cette situation à l'avenir, je suivrais la procédure suivante disposition recommandée pour les projets SVN :

  • Mettez votre code dans le /someproject/trunk (ou simplement /trunk si vous voulez mettre un seul projet dans le référentiel)
  • Branches créées en tant que /someproject/branches/somebranch
  • Mettez les étiquettes sous /someproject/tags

Maintenant, lorsque vous vérifiez une copie de travail, assurez-vous de vérifier seulement trunk ou une branche individuelle. Ne fais pas ça. vérifier tout dans une énorme copie de travail contenant toutes les branches. 1

1 Sauf si vous savez ce que vous faites, auquel cas vous savez comment créer des copies de travail superficielles.

63voto

2rs2ts Points 3310

Pour ceux qui utilisent TortoiseSVN Pour cela, vous pouvez utiliser le navigateur de référentiel (il est intitulé "Repo-browser" dans le menu contextuel).

context menu

Trouvez le dossier de la branche que vous voulez supprimer, faites un clic droit dessus et sélectionnez "Supprimer".

deleting the folder

Entrez votre message de validation, et c'est tout.

committing

0 votes

Faites une mise à jour SVN pour supprimer les dossiers de votre disque (s'ils n'ont pas été supprimés avant la suppression de la branche).

59voto

grmartin Points 553

En supposant que cette branche n'est pas une branche externe ou un lien symbolique, la suppression de la branche devrait être aussi simple que :

svn rm branches/< mybranch >

svn ci -m "message"

Si vous voulez faire cela dans le référentiel puis mettre à jour pour le supprimer de votre copie de travail vous pouvez faire quelque chose comme :

svn rm http://< myurl >/< myrepo >/branches/< mybranch >

Alors cours :

svn update

28 votes

De le livre : "La suppression d'une URL, cependant, est immédiate, vous devez donc fournir un message de journal [avec -m]" donc. svn rm -m message http://... et non update requis

3voto

Chris Nava Points 4048

Vous pouvez supprimer le dossier features comme n'importe quel autre dossier de votre checkout puis valider la modification.

Pour éviter cela à l'avenir, je vous suggère de suivre les conventions de nommage pour la mise en page SVN.

Soit donner à chaque projet un dossier tronc, branches, tags lors de leur création.

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags

3voto

sbi Points 100828

De la copie de travail :

svn rm branches/features
svn commit -m "delete stale feature branch"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X