Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



Mostrando entradas con la etiqueta code. Mostrar todas las entradas
Mostrando entradas con la etiqueta code. Mostrar todas las entradas

viernes, 17 de enero de 2014

Como comparar un ficheros tipo .class de google code de distintas revisiones

Como comparar un fichero tipo .class alojados en Google Code de distintas revisiones




Cuando intentamos ver las diferencias de archivos con extensión .class de un proyecto de Gambas, en google code, no es posible ya que google code los confunde con los bytecode que genera Java, (que también tienen la extensión .class). Esta es la pantalla del error que os comento:

Error al intentar comparar dos archivos .class: Binary files differ

No puede ya que los confunde con binarios de Java... ¿que podemos hacer?

Vamos a usar el servicio web: http://www.mergely.com/, para resolver este inconveniente.

Aparecerá esta pantalla:


Le damos al botón "online diff", y pasamos al editor:


Nos vamos al menu "File" y le damos a "import", y elegimos la pestaña "Import URL", de esta forma le vamos a indicar la url donde están nuestros archivos alojados

Formulario de "import" en la pestaña  "Import Url"
(nota: también podemos comparar archivos de nuestro disco duro, usando la pestaña "Import File")

Ahora debemos saber cual es la url de los ficheros a comparar.  Nos vamos a google code, y vamos a buscar el enlace de la vista en bruto: "View raw file" del fichero y de la revisiones que queremos comparar:



Pulsamos a ese enlace "View raw file" y guardamos la ruta URL:

vista en modo bruto "view raw file" de un fichero del tipo .class en code google
Arriba podeis ver la ruta completa donde esta el fichero:
https://generadorcarnet.googlecode.com/svn-history/r26/trunk/generadorcarnet/.src/Form1.class

Así conseguimos los dos enlaces (del mismo fichero, de distintas revisiones), y los pasamos al formulario de "Import Url"

La revision más antigua (numero de revision menor) la ponemos en la url "left" y la más actual (numero de revisión mayor) en el url "right":
https://generadorcarnet.googlecode.com/svn-history/r26/trunk/generadorcarnet/.src/Form1.class
https://generadorcarnet.googlecode.com/svn-history/r31/trunk/generadorcarnet/.src/Form1.class




Y pulsamos el botón de "Import" del formulario "Import Url", obtenemos la comparación:

Comparando dos archivos alojados en code google
El sombreado azul indica nuevas lineas introducidas, el sombreado rojo las lineas eliminadas.

Y así los podemos comparar y ver las diferencias y cambios introducidos entre el mismo fichero de distinta revisiones

Además, podemos guardar las diff, pulsando en el botón "save diff", que se encarga de descargar un archivo de texto plano con la información.




Saludos

Julio

martes, 17 de julio de 2012

Code Google: Como usar subversion SVN para nuestro proyectos de software.


Usando Code Google-Subversión





El siguiente video lo ha realizado jguardon, el administrador del foro de gambas-es.org, donde explica como usar Code Google y el sistema de subversión para llevar el control de nuestros proyectos de software.


Aunque comenta como usarlo en el ide de gambas3, la información de video también es útil si lo queremos usar con otros ides de programación, o con la linea de comandos directamente para proyectos en otros lenguajes de programación.





Algunas notas que añado el video:
Proyectos ya inciados:
Tambien he conseguido hacerlo con proyectos que ya estaban iniciados (en el video comentas como hacerlo en un proyecto nuevo)...
 Usando la terminal...
1) Vas a la carpeta donde vas a guardar las versiones, en mi caso  este "/home/uno/Gambas3/"
$cd /home/uno/Gambas3/
2) Pegas la orden que te da google code, en mi caso:
$svn checkout https://guerra-de-estrellas.googlecode.com/svn/trunk/ guerra-de-estrellas --username CORREO@gmail.com

3) Se crear la carpeta guerra-de-estrellas
En ella, se ha creado un directorio oculto, el .svn

4) Creo dentro de la carpeta "/home/uno/Gambas3/guerra-de-estrellas", una nueva carpeta llamandola del mismo modo "guerra-de-estrella"

5) Copio todo el "proyecto de gambas iniciado" a la carpeta "/home/uno/Gambas3/guerra-de-estrellas/guerra-de-estrella", (importante copiar los archivos y carpetas ocultos (Ctrl+H, en nautilus, para que se vean) )

6) Ejecuto el comando:
$svn add /home/uno/Documentos/guerra-de-estrellas/guerra-de-estrellas
(en en ide de gambas no me salia la opcion "Poner en el control de versiones"), no se el por qué, ya que tengo gambas3.2...   

7) Me voy al proyecto (/home/uno/Documentos/guerra-de-estrellas/guerra-de-estrellas), y al menu Proyecto/Propidades/Versionado, ya me deja hacer el "commit"

(creo que no se me olvidan ningún paso)

¿como conseguir una revision en concreta, por ejemplo la r2?
svn checkout -r 2 https://NUESTROPROYECTO --username CORREO@gmail.com


Ver diferencias:
En el video comentas, que no funciona diff en google code con los archivos .class, que solo se pueden ver en "crudo"

He encontrado un programa que nos muestras las diferencias de manera gráfica, se llama tkdiff

Podeis instalarlo asi:
       sudo apt-get install tkdiff

Le indicáis los archivos que queréis ver las diferencias

 Image

Y os la muestra, con diferentes colores, las lineas que cambian:

 Image

Saludos


Fuente Original:
http://www.gambas-es.org/viewtopic.php?f=10&t=2494