Pregunta

Así que tengo un problema.He comprobado en mi congelados gemas y rails, aunque no lo debe hacer.Pensé que era fácil y no sería un gran problema de todos modos.Bueno, luego he actualizado los rieles y, al hacerlo, elimina todos los .svn archivos en el vendor/rails directorios.He oído que lo que realmente me debe que hay que hacer es hacer algo que ver con svn:externals a mi proveedor de directorio.¿Qué es exactamente lo que debo hacer y se capistrano todavía uso mi congelados gemas si no están en mi repo?Si no va a usar mi congelados gemas ¿cómo puedo regenerarlas .svn archivos correctamente, debido a que este se suceder de nuevo.

Gracias!

¿Fue útil?

Solución

  1. Para recuperar su eliminados .svn directorios, sólo tiene que ejecutar un svn update.Van a volver.

  2. Acabo de comprobar en la exportación de joyas.Yo uso gem unpack <gemname> en el vendor/gems directorio y svn add y commit a partir de ahí.

  3. Nada en vendor/plugins o vendor/rails Puedo seguir utilizando el pistón.Por ejemplo, esto es cómo puedo obtener rieles de allí:

    % piston import http://dev.rubyonrails.org/svn/rails/tags/rel_2-0-2/ vendor/rails

Para obtener pistón uso gem install piston.

Nota voy a tener que encontrar una forma diferente/mejor solución para reemplazar el pistón como Rieles continúa el uso de git y no puede actualizar el repositorio de subversion.

Otros consejos

Personalmente, soy parcial a la utilización de Pistón para administrar el directorio de proveedores.

Me gustaría tener a asesorar en contra de svn:externals por dos razones

  1. usted podría ser la implementación en un entorno que no puede llegar a los servicios de svn

  2. ¿qué sucede cuando se desea implementar y aquellos svn externos están abajo?

Mi consejo es utilizar pistón o gema desempaquetar y gestionar su producción a dependencias en su árbol de proveedor.

Descargo de responsabilidad:No sé Ruby/Rails, así que no sé qué congelado gemas (aunque he de suponer que son binarios compilados o símbolo (token) de origen), pero sé que la Subversión bien.

.svn sólo directorios de mantener la Subversión "teneduría de libros".No hay nada allí que es irrecuperable.

La eliminación de su .svn de los archivos no es un problema en absoluto.Si los directorios con los que faltan .svn directorios están en algún lugar en el interior de un árbol de directorios en su copia de trabajo de subversion (el directorio que hizo un checkout en), simplemente elimine los directorios, hacer un svn update, y se volverán a crear.

Si el árbol es la falta de el .svn archivos, elimine todo el árbol y hacer un svn checkout de nuevo.

svn:externals es como un "enlace simbólico".Usted tiene Un Proyecto y el Proyecto B, que utiliza el Proyecto A.Lo que tienes que hacer es agregar un svn:exterior de la propiedad que hace referencia a la librería de directorios de Un Proyecto, así que cada vez que usted echa un vistazo a Proyecto B, se pondrá automáticamente en el directorio de la biblioteca de Proyecto en él.Por ejemplo, yo a menudo tiene un directorio llamado "tercero" que contiene los aspectos externos a las bibliotecas de otros lugares, incluyendo la evn:referencias externas para otros proyectos en subversion.

Una sugerencia para la solución de problemas de versión como esta es separado de la liberación de los directorios de las bibliotecas (o congelado gemas), y en sus proyectos que necesitan de ellos, el uso de un svn:referencia externa a la de la versión adecuada de directorio.Como las nuevas versiones de salir, sólo cambia el svn:exterior de la propiedad a punto en la nueva versión del directorio y svn update.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top