CAMBIAR UBICACION DEL REPOSITORIO EN PLASTICSCM

71 views
Skip to first unread message

Carton Jeston

unread,
Jan 12, 2018, 5:02:55 PM1/12/18
to Comunidad de Visual Foxpro en Español
CAMBIAR UBICACION DEL REPOSITORIO EN PLASTICSCM

Después de instalar plasticscm en su carpeta por defecto (c:\Program Files\PlasticSCM5\) los repositorios se guardan dentro de la subcarpeta SERVER.  No me parece una gran idea tener datos importantes en la misma partición de windows y necesito por motivos de seguridad y facilitar el backup que estén separados y en otra ubicación.

Lo primero es salir del plasticscm y asegurar que no hay ningún servicio dependiente o archivo abierto y hacer una copia de seguridad de toda la carpeta PlasticSCM5 por si fallara algo.

Para este ejemplo, teniendo una unidad/particion D: para los datos importantes, creare una carpeta llamada PLASTIC en el disco D: (D:\PLASTIC) que es la nueva ubicación donde se guardaran los repositorios. Recomiendo usar siempre minúsculas aunque windows no se vea afectado por ello.

Dentro de la subcarpeta SERVER hay un archivo de texto llamado DB.CONF, que si se instalo por defecto con la base de datos SQLITE deberá tener esta información:

<DbConfig>
 
<ProviderName>sqlite</ProviderName>
 
<ConnectionString>Data Source={0};Synchronous=FULL;Journal Mode=WAL;Pooling=true</ConnectionString>
 
<DatabasePath></DatabasePath>
</DbConfig>

Y entre <DatabasePath>d:\plastic</DatabasePath> insertamos la ubicación de la carpeta que hemos creado antes, recordando que mejor en minúsculas,quedando asi:

<DbConfig>
 
<ProviderName>sqlite</ProviderName>
 
<ConnectionString>Data Source={0};Synchronous=FULL;Journal Mode=WAL;Pooling=true</ConnectionString>
 
<DatabasePath>d:\plastic</DatabasePath>
</DbConfig>

Ahora guardamos los cambios el archivo que hemos editado DB.CONF.

Como hemos observado anteriormente, las bases de datos que empleaba plasticscm era SQLITE, asi que buscamos en la misma carpeta SERVER todos los archivos con extension .SQLITE y tendras algo asi:

repositories.plastic.sqlite
rep_1.sqlite
rep_2.sqlite
etc.

Ahora hay que moverlos todos a la nueva carpeta que creamos (D:\PLASTIC) y si todo ha ido bien, al abrir plasticscm apuntara a los repositorios guardados en esta ubicación.

Ya esta.

En mi caso, cuando hago una versión nueva final de mi aplicación, hago la copia del workspace (donde esta nuestro proyecto, formularios, prg,etc) que tengo en esa unidad de datos y ahora ademas hago la copia de los repositorios para salvaguardar también la base de datos de los cambios de la versión de la aplicación. No hay que olvidar que un mal paso, un virus o una rotura de disco duro y siempre hay que tener copia de seguridad.

un saludo

Carton Jeston

unread,
Jan 12, 2018, 5:30:59 PM1/12/18
to Comunidad de Visual Foxpro en Español
Ah, uso plasticSCM junto con FoxBin2Prg de Fernando D.Bozzo, no he intentado mover la carpeta entera donde esta instalado PlasticSCM porque hay muchos enlaces que apuntan ahi y posiblemente tendria errores. Aparte que la instalacion es larga y costosa al principio y crei oportuno instalar donde lo hacian los tutoriales :D

Como comente, no esta mal guardar una copia tambien de todo el programa ya instalado por si tuvieras que formatear y puede que te ahorre algo de tiempo, si funciona el truco de pegar encima de la instalacion basica :D

Carton Jeston

unread,
Jan 13, 2018, 10:35:30 AM1/13/18
to Comunidad de Visual Foxpro en Español
Añadido: ¿Como parar/reanudar el servicio de plastic para hacer un backup/restore de los repositorios?

Como he comentado arriba, conviene para el servicio de plasticscm antes de hacer un backup y sobre todo, al restaurar copiando nuestros repositorios puede dar errores.

Te darás cuenta que en la carpeta de los repositorios en algún momento habrán dos archivos con el nombre de un repositorio y con la extensión .sqlite-shm y .sqlite-wal y es porque plasticscm esta haciendo algún trabajo en segundo plano.

Para evitar conflictos, lo mejor es parar el servicio y que termine lo que esta haciendo y después hacer nuestras copias de los repositorios sin ningún problema.

Pulsar Ctrl+Alt+Supr y elegir la opción "Iniciar administrador de tareas". Pulsar en la pestaña Servicios, buscar el nombre PLASTIC SERVER 5 y pulsas con el botón derecho del ratón. Ahora elegir Detener servicio, hacer nuestras copias o restaurarlas en cuanto desaparezcan los dos archivos mencionados arriba y al terminar, botón derecho de nuevo sobre el servicio y elegir Iniciar servicio.

También puedes acceder a los Servicios a través del Panel de control de Windows, Herramientas administrativas y elegir Servicios.

Otro metodo alternativo mediante la consola de comandos del sistema (ejecutar-cmd) o automatizar mediante un archivo BAT o similar o bien acceso directo:

net start "plastic server 5"    >>>> inicia el servicio

net stop "plastic server 5"    >>>> detiene el servicio

Particularmente me gusta mucho este método por su automatización y porque te indica cuando ha terminado la operación correctamente y seguro para un proceso desatendido. Tener en cuenta de probarlo por primera vez manualmente y ver que el nombre del servicio no ha cambiado, actualmente es la versión plasticSCM 5.

Fernando D. Bozzo

unread,
Jan 13, 2018, 11:33:20 AM1/13/18
to Comunidad de Visual Foxpro en Español
En Windows 7 en adelante creo que también se puede hacer así:

sc \\localhost start "plastic server 5"

sc \\localhost stop "plastic server 5"


Lo interesante de este comando es que permite controlar servicios remotamente solo cambiando \\localhost por la PC correspondiente :D

Carton Jeston

unread,
Jan 13, 2018, 4:45:14 PM1/13/18
to Comunidad de Visual Foxpro en Español
Muy bueno, había visto el comando en algunos scripts pero ni me había preocupado en saber para  que era :D

Se ve poderoso, hasta borrar un servicio del registro... así que esto mejor para los usuarios avanzados o como bien dices que tengan necesidad de uso remoto. ;-)

He ido a probar si habia algun comando para enumerar  solo los servicios con la palabra plastic o algo asi:

sc query type=services >servicios.txt
find /i "Plastic" servicios.txt
pause
del servicios.txt

Esto daria el resultado el nombre del servicio como si fuese el comando VOL para el nombre del volumen(solo para vagos) y seguro que se puede optimizar para que te devuelva el nombre del servicio, pero ahi lo dejo... ;-)
Reply all
Reply to author
Forward
0 new messages