2008-09-26 12 views
8

Es una pregunta para principiantes, pero estoy teniendo problemas para usar SNVKit.Cómo comprometer un directorio a Subversion

Estoy usando SVNKit en una aplicación para confirmar cambios en los archivos. Lo tengo agregando con éxito los archivos y las carpetas a la copia de trabajo, pero estoy teniendo problemas para enviarlo al repositorio.

El comando que estoy tratando de correr es 'commit -m "Test Añadir"/svnroot/proyecto 1 /', pero me siguen dando "svn: '/ home/usuario' no es una copia de trabajo"

I tener una estructura similar a esto:

  • /svnroot/
  • /svnroot/Project1/
  • /svnroot/Project1/grouping1/
  • /svnroot/Project1/grouping1/myfilesarehere

Si intento confirmar el archivo, aparece el siguiente mensaje: "'/ svnroot/project1/grouping1' no está bajo control de versión y no forma parte de la confirmación, pero su hijo es parte de la confirmación. "

¿Qué podría estar haciendo mal?

EDITAR: corrigió los directorios.

Respuesta

0

Lo he rastreado hasta un posible error en alguna parte. Si no agrego un mensaje, funciona. Tiempo para cavar más Gracias por los consejos.

+0

¡Ah, genial! Espero que lo aclare y que todo funcione. – Sean

+3

@Mike_Willis ¿Puede compartir con nosotros la solución que encontró, ya que estoy teniendo ese mismo problema. – Riduidel

+1

Definitivamente un error. Acabo de ejecutarlo al comprometer dos nuevas carpetas con archivos. Nada funcionó, pero cometió cada directorio por separado. –

0

mueve tu -m "comentario" hasta el final. Simplemente cambiaría el directorio en el directorio de tu proyecto. Luego, simplemente escribe svn commit -m "comment" y svn hace el resto.

+0

Mover el directorio no funcionó. Cambiar el directorio no es una opción que sepa cómo solucionar en este momento. Voy a investigar eso más. –

0

No está del todo claro porque los ha reemplazado de manera incoherente, pero parece que está obteniendo rutas de repositorio/URLs confundidas con rutas de copia de trabajo. Si está agregando o confirmando archivos, siempre use las rutas de copia de trabajo. Intenta jugar con el svn de línea de comando antes de intentar usar SVNKit.

+0

Echa un vistazo ahora. –

0

Si desea comprometer un directorio completamente nuevo, considere usar svn import en su lugar. Tal como está ahora, es posible que deba revertir o realizar alguna otra acción para limpiar el desorden actual.

1

Creo que el problema es que usted está realizando cambios en el repositorio SVN en sí en lugar de hacer una importación, retirar una copia para usted, hacer cambios y luego hacer una confirmación desde su copia de trabajo desprotegida después de agregar cualquier subdirectorio Entonces: import, checkout, realice los cambios, y finalmente haga un add para cada nuevo archivo o directorio y commit -m "message" forman el nivel superior.

Más información en el free online SVN "turtle" book.

+1

No, esta es la copia de trabajo. Anteriormente hice un checkout en esta ubicación. –

15

Si tiene un directorio y su elemento secundario agregados, pero ninguno de los dos está confirmado, creo que recibirá este mensaje si intenta comprometer solo al elemento secundario. Primero debe confirmar el directorio principal.

+0

Funciona perfecto para mí, cuando leo lo que dice me doy cuenta exactamente de mi problema. Gracias – Amauri

+0

@ mike-wills ¿podría aceptar esta respuesta, por favor? – zinking

1

Recibí este mensaje y me di cuenta de que estaba cometiendo un error mientras estaba en el subdirectorio. Cuando cambié a la raíz del árbol, me comprometí con el problema.

0

Algunas veces, el uso de algunos softwares como eclipse o Versions.app produce estos errores. En este caso, salga del cliente SVN y hágalo en la línea de comandos.

0

Probablemente haya realizado algunas refactorizaciones y esté intentando confirmar 'algún.paquete.SuClase.java', en ese caso intente asignar el directorio (paquete) 'algo'.

Si desea ahorrarse tal dolor de cabeza en el futuro, considere cambiar a GIT en lugar de svn. Recuerde svn mantiene sus cambios en un archivo .svn e intenta enviarlo al repositorio. Cuando lo haga, de acuerdo con este archivo .svn, presione 'sus cambios'. Pero, ¿y si tus cambios son muy complejos? svn no puede manejarlo.

GIT, por otro lado, recupera todas las actualizaciones para que su proyecto esté actualizado. Y al comprometerlo, simplemente sobrescribe el repositorio, ya que sabe que el suyo es el más reciente y no hay prisa.

Cuestiones relacionadas