Hola
Regenerando un proyecto aparece en el log una referencia a
/proyectos/toba/1.4/proyectos/guarani_old/metadatos/
Lo que me interesa saber es donde está almacenado “guarani_old”
Gracias.
Emilio
Hola
Regenerando un proyecto aparece en el log una referencia a
/proyectos/toba/1.4/proyectos/guarani_old/metadatos/
Lo que me interesa saber es donde está almacenado “guarani_old”
Gracias.
Emilio
Hola Emilio,
no termino de entender bien tu pregunta ampliamela un poco mas que yo no soy como el del dicho XD, si andas por el log supongo que es porque te esta tirando un error venenoso.
El sospechoso de siempre diria que es el archivo toba_dir/instalacion/i__instancia/instancia.ini, ya que cuando cargas un proyecto desde un directorio alternativo se guarda ahi dentro un renglon dentro de la seccion especifica del proyecto que indica en que directorio esta el proyecto.
Saludos
Hola:
En ese archivo no habia ningun path=…
Situación:
en el directorio proyectos del toba hay dos carpetas:
guarani
guarani_old
en el archivo proyecto.ini de cada uno de ellos estaba la sentencia
[proyecto]
id = guarani
igual en los dos.
Ambos tenían configurado un svn.
guarani rev.4000
guarani_old rev.3000
Se ejecuta
toba proyecto regenerar -i desarrollo -p guarani
y toma el directorio guarani_old
con lo cual la version del guarani que estaba era 3000.
Hola Emilio,
el problema es que existen 2 archivos proyecto.ini que dicen que el identificador de proyecto es guarani, al no tener un path explicito el proyecto cuando se va a buscar los metadatos, se recorren los directorios dentro de toba_dir/proyectos/, por desgracia para vos la llamada al sistema devuelve primero el directorio ‘guarani_old’, entonces toba al encontrar el identificador del proyecto carga los metadatos de ese directorio.
Estoy trabajando en un fix que va a hacer que el path del proyecto exista siempre, de esa manera se elimina la ambiguedad, el tema es que aun lo estoy probando. La otra opcion es editar el archivo proyecto.ini dentro de guarani_old y cambiarle el nombre para que no crea que es el proyecto ese. En cuanto lo tenga subido te aviso de todas maneras.
Saludos
ok.
el otro punto que me parece que me olvidé de comentar es:
Cuando lo ejecutas, se ejecuta el del directorio guaraní y no el guarani_old. Supongo que esto sale del toba.conf.
En una parte del código de ese proyecto busca la revision svn de lo que se está ejecutando y toma el valor del directorio guarani.
No debería funcionar en los dos casos de la misma manera?
Emilio
Hola Emilio,
acabo de subir un fix para este tema, ahora lo que se va a hacer es que cuando se crea el proyecto o se carga (en ausencia de otro directorio con el mismo id) aun cuando no se especifique en el comando toba se seteara explicitamente el parametro path en el archivo instancia.ini, de esta manera se evita que a futuro se carguen los metadatos desde otro directorio que no sea el especificado alli. Eso tambien implica que cuando bajes una nueva version a un directorio distinto (como es tu caso) tengas que explicitamente decirle la primera vez de que directorio debe sacar el proyecto.
En tu caso (una vez actualices) lo que podes ejecutar es lo siguiente:
toba proyecto eliminar -p guarani //con esto eliminas los metadatos de guarani_old de la bd
toba proyecto cargar -p guarani -d proyectos/guarani/ //Con esto le decis de cual de los dos directorios sacarlo la primera vez, de ahi en mas decide solo
Para verificar que guardo correctamente la ruta podes mirar en el archivo toba_dir/instalacion/i__desarrollo/instancia.ini.
La otra opcion al procedimiento de arriba es editar dicho archivo y en la seccion correspondiente a guarani incluir path=“ruta absoluta al directorio del proyecto del que se quiere cargar” .
Nop, lo que se ejecuta desde el web server esta marcado por el alias al que ingresas, generalmente cada alias en toba.conf apunta a un directorio de proyecto distinto, probablemente no hayas cambiado el alias cuando se renombro el directorio a guarani_old con lo que toma el codigo del nuevo directorio guarani.
Si el mismo no existiera no podrias iniciar el servidor web ya que no encontraria el directorio al que apunta el alias. Recorda que el archivo toba.conf se toca mediante los comandos toba proyecto publicar/despublicar y que se agrega un alias semiautomaticamente cuando el proyecto se carga en la instancia y no existe un alias previo para el mismo en toba.conf.
Saludos
ok.
En la proxima actualización te comento. Calculo que se resolvió.
Lo que me queda la duda es si no hay dos formas distintas en toba de ver cual es la ruta física del proyecto ante la ausencia del path= en instancia.ini.
Gracias.
Emilio
Ante la ausencia del path en instancia.ini la unica forma que existe de ubicar la ruta fisica del proyecto es recorriendo la carpeta proyectos y comparando el identificador ubicado dentro de proyecto.ini, por ello en un principio estaba “path” unicamente para aquellos proyectos que estuvieran fuera de dicha carpeta, de otro modo no habia forma de ubicarlos.
Supongo que contemplabas como alternativa el uso de toba.conf, en realidad dicho archivo es una meramente una forma de facilitarle al desarrollador la publicacion de los alias necesarios para que no tenga que escribirlos a mano como se hacia antes, de hecho cuando no usas Apache como webserver o estas en un hosting que no te permite hacer el include dicho archivo no tiene mayor importancia y puede quedar desactualizado sin causarte ningun problema. Ademas, si dependieras de dicho archivo para ubicar un proyecto estarias forzando a que todo proyecto que cargas en la instancia este publicado, cosa que no es estrictamente necesaria, sobre todo en entornos de produccion.
Saludos
Puesto que mis conocimientos de toba son medio rudimientarios, te doy lo siguiente.
Pedile a la gente de guarani3 que te muestren la pantalla AcercaDe de ese programa
En ella está la revisión (svn) que se está ejecutando, y fijate como sale.
En el caso en que se mencioné al principio en esa pantalla estaba el valor 4000 cuando en la base (apex_proyecto, creo) estaba el 3000.
Emilio
Es toba_instancia->get_path_proyecto() la funcion que devuelve el path absoluto de un proyecto?
de ser asi devuelve
toba_dir() . “/proyectos/” . $proyecto;
en caso que no esté definido el path en el archivo instancia.ini.
si esto es así, la conclusión es que hay que poner el path de los proyectos en instancia.ini