viernes, marzo 07, 2014

PlasticSCM: Hice un checkin erróneo de un archivo nuevo ¿cómo lo arreglo?

Por: Fernando D. Bozzo

A todos nos puede pasar que estamos trabajando en algo, y en un momento dado queremos proteger los cambios, entonces vamos al SCM, elegimos los archivos y hacemos checkin.... pero luego nos damos cuenta de que cometimos un error, ¿cómo lo arreglamos?

   Si el error detectado es de capitalización de un archivo recién agregado, pero al cual todavía no hicimos checkin, es muy fácil: Ir a la ventana de Cambios Pendientes y seleccionar el botón "Deshacer cambios". Problema resuelto, se soluciona el problema de capitalización haciendo la conversión texto/binario que ya comenté en el punto 3 y 4 de la otra nota, y se repite el proceso de agregar el archivo.

   Si el error detectado es de capitalización de un archivo agregado y que además se le hizo checkin, entonces habrá que hacer una copia del mismo (en un zip por ejemplo) y eliminar el último changeset creado, así:


1) Seleccionamos el changeset anterior con click-derecho:


2) Elegimos la opción "Apuntar workspace a este changeset":



2.b) ¿Muestra un error?: Si les muestra un error como el de la imagen, pueden elegir entre las opciones que ven en la imagen, y que ahí mismo están explicadas:




3) Hacemos click-derecho en el changeset a borrar (siempre es el último) y elegimos "Borrar changeset":


4) Y listo, el changeset fue borrado y el nuevo changeset actual es el anterior:


5) Finalmente, como se ha borrado un changeset que en este caso consistía en archivos agregados al SCM, esto implica que Plastic los borrará del directorio de trabajo, y por eso hicimos el ZIP en un paso anterior. Simplemente se vuelven a descomprimir los archivos, se procesan con FoxBin2Prg (solo si son binarios Fox) pasándolos a texto y binario nuevamente, se comprueba la capitalización y se vuelven a agregar al control de código.


Esto también se puede hacer cuando se protege un cambio que no se quiere guardar, pero lo ideal es solo hacer el checkin cuando se tiene certeza de que lo que se sube es correcto.


Video de ejemplo:

FoxPro 9: Deshacer Merge de 2 ramas en PlasticSCM




Importante:
Para evitar estos inconvenientes, es mejor verificar visualmente la capitalización de los archivos justo antes de que se vayan a proteger, y no olvidar que cualquier form, clase, etc, que se haya modificado, se debe pasar primero a texto y luego del texto se debe pasar a binario otra vez, ya que en estos pasos también se hace el ajuste de la capitalización.

Otra cosa a estar atento es no subir cualquier archivo, es decir, el control de código fuente (SCM) es justamente para eso, para controlar los archivos de programa que hacemos, y no para proteger los archivos temporales (tmp) o los backup (bkp) u otro tipo de archivos que no tienen nada que ver con nuestro desarrollo.

Incluso es conveniente guardar la versión texto de las tablas (archivos DB2) y bases de datos (archivos DC2) generados con FoxBin2Prg, pero no guardar las tablas con datos, porque si no el espacio destinado para el código se agotaría bastante rápido. Recordar que todo esto se guarda en una base de datos de Plastic que se puede elegir entre la que viene por defecto  y que sirve para pequeños desarrollos o desarrollos personales (SQL Server CE - 4 GB por repositorio/proyecto), u otras bases de datos más potentes como SQL Server full, MySQL, Oracle u otras.


Nota Relacionada:
FoxPro 9 y PlasticSCM: Como deshacer un changeset sin borrarlo




No hay comentarios:

Publicar un comentario