Supprimer un svn-Branch via git?

J’utilise git comme scm de choix mais je dois utiliser un svn-repo. Je peux créer une twig svn-remote comme ceci:

git svn branch the_branch 

Mais comment puis-je supprimer la twig distante?

Actuellement, il n’est pas possible de supprimer une twig SVN en utilisant git-svn. Mais il est facile de supprimer la twig en utilisant SVN, sans même avoir à la vérifier. Alors tapez simplement

 svn rm $URL/twigs/the_branch 

Veuillez noter que la suppression d’une twig Subversion ne provoque pas sa suppression du repository git-svn. (Ceci est intentionnel, car la suppression d’une twig Subversion ne provoque aucune perte d’informations, alors que la suppression d’une twig git entraîne l’oubli de son existence après la prochaine récupération de place git). Donc, si vous souhaitez supprimer la twig SVN distante repository, vous devez le faire manuellement:

 git branch -D -r the_branch rm -rf .git/svn/the_branch OR rm -rf .git/svn/refs/remotes/f8745/ (for newer versions) 

Pour supprimer une twig git correspondant à une balise Subversion, les commandes sont légèrement différentes:

 git branch -D -r tags/the_tag rm -rf .git/svn/tags/the_tag 

Cela a bien fonctionné pour moi, merci. Je ne suis pas sûr que mon environnement soit différent ou que cela ait été changé dans une version plus récente de git, mais les répertoires de la twig svn se trouvaient dans .git / svn / refs / remotes / Commande rm à:

 rm -rf .git/svn/refs/remotes/the_branch 

Je ne suis pas sûr des balises car je ne les utilise pas beaucoup.

Opps, la meilleure réponse a été écrite en 2009, maintenant la bonne façon de supprimer un tag distant est

 svn rm svn://dev.in/twigs/ios_20130709150855_39721/ git branch -d -r ios_20130709150855_39721 

En 2017, nous n’avons toujours pas git svn branch --delete . (l’option -d est là mais c’est pour la détermination mystique )

Comme décrit dans d’autres réponses, les étapes manuelles sont les suivantes:

  1. Imprimer le message de validation: git log -1 $commit
  2. Dans le message de validation, recherchez git-svn-id: $url line
  3. Supprimer la twig SVN: svn rm $url

J’ai fait un alias pour automatiser ces étapes:

 [alias] svn-rm-branch = "!f() { if git_svn_id=\"$(git log -1 --format=%B \"$@\" | grep -o '^git-svn-id:[^@]*')\" ; then svn rm --editor-cmd=\"$(git var GIT_EDITOR)\" \"$(echo $git_svn_id | cut -d' ' -f 2)\" ; else echo No git-svn-id in the message of the commit \"$(git rev-parse \"$@\")\" 1>&2; fi }; f"