close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#1206 closed defect (fixed)

TolPackage: sorting versions

Reported by: Pedro Gea Owned by: Víctor de Buen Remiro
Priority: highest Milestone: TOL Packages
Component: Kernel Version: head
Severity: blocker Keywords:
Cc:

Description

TolPackage parece no ordenar adecuadamente la versión de los paquetes, siendo "<PackageName>.1.9" posterior a "<PackageName>.1.10".

Puede comprobarse con el paquete RandVar del repositorio privado de Bayes.

No sólo se ordenan incorrectamente las filas en la web del repositorio sino que falla el método: RemoteUpdatePackSyncInfo.

Change History (9)

comment:1 Changed 14 years ago by Víctor de Buen Remiro

Status: newaccepted

El problema es que se usa ordenación lexicográfica sin tener en cuenta lo que se quiere expresar semánticamente, y por eso la cadena "1.10" es claramente anterior a "1.9".

Supongo que habrá que implementar una función más inteligente de ordenación, y quizás mejor en C++ para que sea más eficiente y general. Con una función

//Compara dos cadenas de version con un número arbitrario de tokens numéricos
//separados por el caracter punto. Por ejemplo 1.9 sería anterior a 1.10 
//mientras que alfabéticamente es al revés.
Real Compare.VersionString(Text a, Text b)

comment:2 Changed 14 years ago by Víctor de Buen Remiro

(In [3550]) Refs #1206

comment:3 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: acceptedclosed

He subido la nueva release binaria de desarrollo v2.0.2 b.0.06.alpha para que la pruebes.

Yo he visto que al hacer

  #Require RandVar;

se baja la 1.11 y no me da ningún problema pero no sé si puede haber problemas dependiendo del estado anterior del repositorio local.

Doy por cerrado el ticket. Si hay más problemas pues se reabre.

comment:4 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: closedreopened

El problema en la actualización persiste. Si no dispongo de ninguna versión del paquete, se descarga la 1.11. Pero si dispongo de la versión 1.9 e intento actualizar no se encuentra la necesidad de actualizarlo.

Entiendo que el repositorio te indica que la más actual disponible es la 1.11, pero en algún momento se comparará si ésta es superior o inferior a la instalada (1.9) y ahí estará el fallo.

Si en lugar de tener instalada sólo la 1.9 tengo sólo la 1.10, entonces sí aparece el mensaje:

Local package RandVar.1.10 could be upgraded to RandVar.1.11

comment:5 Changed 14 years ago by Pedro Gea

El problema está en varios sitios, también se presenta (como comentaba) en el orden de las versiones en la web de los repositorios, concretamente en la ordenación por la columna "full name" (panel de la derecha arriba).

comment:6 Changed 14 years ago by Víctor de Buen Remiro

(In [3552]) Refs #1206
Refs #1207

comment:7 Changed 14 years ago by Víctor de Buen Remiro

(In [3553]) Refs #1206
Refs #1206

comment:8 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: reopenedclosed

Yo creo que ya está resuelto. Cierro y si hay más problemas se reabre.

comment:9 Changed 13 years ago by Pedro Gea

(In [4613]) Refs #1502, #1374, #1373, #1371, #1368, #1257, #1206, #916
Se suben los cambios de la mejora a TolPackage.2 en carpetas y archivos auxiliares.

Note: See TracTickets for help on using tickets.