2010-01-19 12 views
41

Tengo un proyecto Foo para el cual creé erróneamente la etiqueta incorrecta. Debería haber leído 'rMMDDYYYY' pero lo etiqueté 'YYYYMMDD' en su lugar. Me di cuenta de mi error después de haber comprometido mi cambio. Ahora quiero eliminar la carpeta YYYYMMDD en el directorio de etiquetas y dejar en su lugar la carpeta rMMDDYYYY. es decir¿Cómo elimino un directorio erróneamente etiquetado en SVN?

antes: foo/foo/trunk/foo/ramas/foo/etiquetas/foo/etiquetas/AAAAMMDD/foo/etiquetas/rMMDDYYYY

después: foo/foo/trunk/foo/ramas/foo/tags/foo/tags/rMMDDYYYY

¿Alguna idea de cómo puedo hacer esto por favor? ¡Gracias por adelantado!

+0

Puede ser útil para leer la sección sobre las etiquetas en el manual, explica que las etiquetas no son diferentes de las ramas u otras copias del árbol: http://svnbook.red-bean.com/en/1.5/svn. branchmerge.tags.html – wds

Respuesta

45

Si desea eliminar el directorio a continuación, utilizar el comando svn rm:

svn rm foo/tags/YYYYMMDD 
14

acaba de eliminar la etiqueta que no desea y crear de nuevo con el mismo nombre o un nombre diferente. Si tiene tortugas es tan simple como eliminar el directorio del navegador repo. Luego crea una nueva etiqueta.

+0

Gracias Shikar pero TortoiseSVN no es realmente una opción para mí, ya que estoy en una Mac. Tendré en cuenta que si la próxima vez que estoy en una máquina Windoze (sic!); – freakwincy

5

Supongo que no puede simplemente eliminar y volver a agregar el directorio (tal vez porque la copia de trabajo ha cambiado), o lo habría hecho. Por lo tanto, tiene al menos dos opciones:

  1. Consulte la revisión etiquetada, bórrela del repositorio y vuelva a agregarla en la ubicación deseada.
  2. utilizar el comando svn mv: http://svnbook.red-bean.com/en/1.0/re18.html

Tenga en cuenta que la creación de una etiqueta en la subversión en realidad no copiar los archivos; simplemente crea entradas de directorio que apuntan a los archivos (Consulte “ Copias económicas ”: http://svnbook.red-bean.com/en/1.0/ch04s02.html), por lo que no tiene que preocuparse por hinchar su depósito.

El libro de Subversion (http://svnbook.red-bean.com) es una referencia increíblemente clara y completa. Si aún no lo ha leído, probablemente encontrará una gran cantidad de información.

¡Buena suerte!

+0

Gracias Adam. No me di cuenta de que solo podía hacer un svn mv. Esa sería la solución ideal, pero el hecho de que el directorio en el que lo tengo lo haya movido ya existe. Aún así, es bueno saberlo. Supongo que necesito aclarar un poco más sobre el Libro de Subversion. – freakwincy

+1

Es curioso, me encontré con un problema muy similar ayer: necesitaba mover 'https: // ruta/a/dir' ->' https: // ruta/a/mi/dir' y lo resolví con "svn mv" a un directorio temporal, 'svn mkdir https: // ruta/a/mi' y finalmente un" svn mv "a la nueva estructura. No sé si hubiera podido hacerlo tan rápido si no hubiera encontrado tu pregunta primero ... ¡así que gracias! –

28
svn delete http://example.com/svn/tags/tag-to-delete -m "Tag no longer needed" 

es el mejor enfoque. See also here.

+0

Curiosamente, el otro enfoque de eliminar la carpeta de etiquetas del repositorio no funcionó (la operación simplemente no parecía disponible), pero esta svn delete lo hizo. – Schollii

Cuestiones relacionadas