¿Cuál es la estructura de repository SVN recomendada para las aplicaciones ExtJS MVC?

Después de leer más sobre Sencha Cmd y crear aplicaciones MVC con ExtJS 4, veo que las aplicaciones ExtJS 4 están estructuradas de la siguiente manera. Donde [application] s en el mismo [package] pueden compartir los mismos temas de SASS (sintácticamente asombrosas hojas de estilo) y múltiples [aplicaciones] pueden caber en el mismo [package].

Estructura de carpetas al crear un espacio de trabajo con el command "sencha generate workspace":

\[workspace]\.sencha\ \[workspace]\packages\ \[workspace]\ext\ 

Estructura de la carpeta al crear una aplicación con el command "sencha generate app":

 \[workspace]\[application]\.sencha\ \[workspace]\[application]\app\ \[workspace]\[application]\data\ \[workspace]\[application]\resources\ \[workspace]\[application]\sass\ \[workspace]\[application]\app\models\ \[workspace]\[application]\app\views\ \[workspace]\[application]\app\controllers\ \[workspace]\[application]\app\stores\ 

Estructura de la carpeta al build la aplicación con el command "sencha app build":

 \[workspace]\[build]\[application]\[production]\.sencha\ \[workspace]\[build]\[application]\[production]\app\ \[workspace]\[build]\[application]\[production]\data\ \[workspace]\[build]\[application]\[production]\resources\ \[workspace]\[build]\[application]\[production]\sass\ \[workspace]\[build]\[application]\[production]\app\models\ \[workspace]\[build]\[application]\[production]\app\views\ \[workspace]\[build]\[application]\[production]\app\controllers\ \[workspace]\[build]\[application]\[production]\app\stores\ 

Solo he aprendido un par de commands en Sencha Cmd, pero quiero asegurarme de que esos commands (y los nuevos que aprendo) sigan funcionando si reestructure mi código fuente en SVN.

Normalmente mantengo el directory raíz de una aplicación determinada debajo de la carpeta "trunk". De esa forma, si creo una twig, puedo arrojar todo a la twig y no perderme nada. Ahora que Sencha introduce una carpeta adicional en la ruta (que es la carpeta [package]), ¿dónde debería estar la carpeta "troncal" en reference a una [aplicación] o un [package]?

De lo contrario, me gustaría saber si hay configuraciones que pueda establecer para Sencha Cmd para que la temática con SASS aún funcione, las implementaciones sigan funcionando, las ramificaciones en SVN sigan funcionando y otros commands sigan funcionando correctamente.

Esta respuesta puede ser discutida, pero con mucha resolución de problemas y testing y error, tiene más sentido para mí.

Si ejecuto ExtJS 4 en IIS, y está utilizando Sencha Cmd y Sencha Architect IDE (para código de placa de caldera), esta estructura funcionó mejor, por lo que no tiene que cambiar la configuration de varios commands. Hay variables en este formatting, $ {variable}, que deben modificarse tanto en la carpeta {workspace}\.sencha carpeta {app}\.sencha que puede modificarse para tener en count estas diferencias, pero yo fui con la opción más simple, así que me encuentro con less problemas en el futuro. Al crear nuevas aplicaciones, debe colocar la carpeta "ext-4.2" en la misma carpeta donde residen "trunk", "branches" y "tags" temporalmente, hasta que el espacio de trabajo se genere usando "sencha generate workspace .. otros parameters … ". Durante ese command, esta carpeta se copy y el nuevo nombre de la carpeta de copy es "ext" y se coloca dentro de la [carpeta del espacio de trabajo]. Elegí simplemente generar el espacio de trabajo primero y luego agregar los niveles de carpetas adicionales para SVN.

 C:\SVN\apps\sencha\mvc\trunk\{app}\ C:\SVN\apps\sencha\mvc\trunk\build\ C:\SVN\apps\sencha\mvc\trunk\packages\ 

.. donde "sencha" es nuestro repository SVN

… donde "mvc" es nuestro proyecto SVN, también nuestro espacio de trabajo Sencha

… donde {app} puede ser reemplazado por el nombre de nuestra aplicación, con la primera letra en mayúscula. Y tenga en count que puede haber múltiples aplicaciones en esta carpeta, así como nuestra carpeta de "compilation", y la carpeta "packages" (temas), etc.

… de esa manera, los commands permanecen dentro del mismo espacio de trabajo ya que los temas se comparten y las comstackciones se generan dentro del espacio de trabajo.

… El único inconveniente es que necesitamos conocer el context de cada twig. Cuando algo está ramificado, el contenido en "tronco" va a las branches\{name/date/version of branch} . Entonces, en su lugar, creo que nos ramificaremos haciendo branches\{app name}\{name/date/version of branch} .

Esto también le permite colocar la carpeta "ext" un directory desde la aplicación. Esto requiere que construyas un directory virtual para cada aplicación. Por lo tanto, la URL de la aplicación será http://{domain}/{app name}/index.html , donde {nombre de la aplicación} es el nombre de nuestro directory virtual. En IIS 6, esto es automático. Pero en IIS 7, debemos asegurarnos de colocar el directory virtual debajo del sitio. Otro dolor en el trasero con tener la carpeta "ext" dentro de la aplicación es que es una biblioteca. Y hay muchos files en esta carpeta para todos los códigos de ejemplo y widgets Sencha. Así que tenerlo en cada carpeta de aplicaciones aumenta el tamaño de cada aplicación. Entonces tiene sentido mantenerlo en la carpeta de arriba. Al implementar código, solo necesitará el file de marco y algunos otros. La mayoría de tus otros files se crean utilizando el command "sencha generate app".