#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
Status: | new → accepted |
---|
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
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
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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
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:8 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Yo creo que ya está resuelto. Cierro y si hay más problemas se reabre.
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