Pregunta

Yo sé que las personas recomiendan que los externos deben siempre a punto de etiquetas o cerraduras para revisiones específicas (o ambos para la brigada cinturones-y-llaves!). Me siento cómodo con este enfoque cuando los puntos externos a una dependencia que no cambia o cambia lentamente. Sin embargo, a veces tengo que tomar una externa en una dependencia que cambia rápidamente y entonces es menos esfuerzo (aunque más arriesgado) para establecer el punto externo a al tronco de la dependencia.

Lo que realmente me gustaría es una característica intermedia que voy a llamar a un "seguimiento externo". La forma en que debería funcionar es el siguiente:

a) Si la cabeza de pagar, me sale la cabeza de la externa

b) Si me la salida de revisión X, X consigo la revisión de lo externo

Esto me permitiría recrear siempre revisiones viejas, pero también me permitirá estar expuesto a los últimos cambios de la dependencia.

Esta característica no parece existir en SVN, pero parece que una característica obvia de implementar. ¿Alguien sabe si existe esta función o está previsto, o si puede ser emulado a través de algunos trucos SVN?

Gracias Akash

¿Fue útil?

Solución

Creo que lo que su pedir no es el correcto uso de los externos. Lo estás haciendo mal.

Externals tiran en el código de ... en otro lugar. Ese 'otro lugar' podría ser un lugar diferente en su repositorio actual, o podría ser un repositorio diferente en su máquina, o un repositorio alojado en una máquina en el otro lado del mundo ...

Fuera de alguna situación especial en el que mantiene su repositorio y los externos (s) en la revisión-mismo paso (que se podría hacer si sus externos están siendo arrastradas desde una ubicación diferente en el mismo repositorio,) con ganas de pago y envío de revisión X de su repositorio junto con la misma revisión X en el repositorio externo (es) va a terminar en un fracaso.

¿Cómo puede asegurarse de que los principales repositorios revisiones permanecen sincronizados con las revisiones repositorios externos? Lo que se supone que debe suceder cuando su repositorio está en la revisión 1000, y el repositorio external'd sólo en la revisión 300?

Para realmente tener una puñalada a responder a su pregunta: no tengo idea si algo como esto está prevista para futuras versiones de SVN, pero yo no apostar. En cuanto a 'engaño', que quizá podría lograr esto mediante la creación de algún tipo de envoltorio-script que podría modificar las propiedades externas para fijarlos en la revisión de su planificación en el check out antes de que realmente la salida. No es algo que consideraría práctica, ni totalmente trivial.

Otros consejos

Si sólo utiliza una rama en un externa sin especificar una revisión en particular que esto externa está flotando lo que significa que cada vez que actualice se obtendrá la cabeza de esa rama ... Usted puede hacer lo mismo en el uso de la cajuela. Pero antes de ir a liberar lo que tiene que pin que externo a un estado en particular, la mejor práctica es utilizar una etiqueta para esto.

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