Subversión en combinación con dependencies de compositores

Quiero administrar mi proyecto con subversión y el proyecto requiere dependencies administradas por el compositor.

¿Cuál es la mejor práctica haciendo eso?

Puedo agregar mi composer.json con las dependencies requeridas a mi trunk. Luego ejecuto una actualización del compositor en mi copy de trabajo. Por lo que sé, debería excluir las carpetas creadas por el compositor de mi troncal porque no necesitan copyrse en los repositorys. ¿Es esto correcto?

Si hago otro pago, tengo que hacer una actualización del compositor nuevamente. ¿Es esto correcto?

Y si hago una export, tengo que hacer otra actualización del compositor.

La pregunta principal es: ¿es posible manejar las dependencies del compositor como svn: externals? Si hago un pago o una subversión de export debería download las dependencies por sí mismo. ¿Es eso posible? Adicional, quiero poder hacer una actualización del compositor más tarde a mano.

Lo siento pero estoy un poco confundido acerca de la integración del compositor en un repository de subversión. Quizás alguien pueda explicarlo.

Usted compromete el composer.json y el composer.lock de su proyecto en su repository y excluye la carpeta del vendor de su compromiso, después de ejecutar la composer update una vez.

Después de eso, solo ejecute la composer install para instalar exactamente las dependencies que obtuvo la última vez que ejecutó la actualización:

  • Checkout fresh from SVN -> composer install
  • Obtener una actualización de SVN -> composer install

La única situación donde ejecuta la composer update es cuando QUIERE actualizar sus dependencies.

Y una nota con respecto a svn: externos: aunque en teoría estos son capaces de hacer lo mismo que Composer, es decir, "hardcoding" (en cierto modo) la revisión exacta de algún otro repository que está utilizando en su repository actual, rara vez se usa . Usualmente apuntas tu svn: external a la twig del tronco. Pero esto es un riesgo: si vuelve a una revisión anterior, ¡no obtendrá esa versión anterior de su dependencia! Podría include la revisión que se usa externamente en el enlace svn: externals, pero me pareció bastante engorroso administrar la última vez que utilicé SVN (mucho antes de que se iniciara Composer). No recomendaría usar estos si puedes usar Composer en su lugar. También tenga en count que la mayoría de los packages de Composer están alojados en plataforms de repositorys basados ​​en Git como Github o Bitbucket, por lo que no habría forma de includelos como svn: externals de todos modos.