maximos / maximus

BlitzMax module manager (client) - This project has been abandoned.
MIT License
4 stars 1 forks source link

Version checking on update/install #1

Closed komiga closed 13 years ago

komiga commented 14 years ago

Versions need to be checked when updating or installing modules.

If a group of modules are controlled by VCS, the user needs to be warned before continuing. If a group of modules are already at a newer version than the ones to be installed, the user needs to be warned.

Htbaa commented 13 years ago

To prevent overwriting SCM managed directories, what about letting Maximus add a file inside the module directory it installs. If it wants to update a module and the file exists it can simply do so, otherwise it can warn the user that it wants to update a module but that it's not managed by Maximus and if the user wants Maximus to manage it he/she should delete those modules first.

komiga commented 13 years ago

Maximus has to track module versions for updating installed modules, so this should work out nicely. We'll have .maximus file or somesuch in each module folder that Maximus installs. You'll also have to make sure that file is ignored in maximus-web once Maximus starts using it.

Htbaa commented 13 years ago

How about naming it meta.maximus? We could store version number in there as well, which will be set when installing the module. That way we don't have to parse module files in the client, should be much faster as well. It can simply be some kind of INI file, or whatever format it is you use in duct.

Perhaps add a warning in the file as well that if they delete it Maximus can no longer track/manage it?

If we settle on the name I'll add it to the exclude list.

komiga commented 13 years ago

How about naming it meta.maximus?

That is fine.

We could store version number in there as well, which will be set when installing the module.

That is what I was aiming for.

Htbaa commented 13 years ago

Cool. I'll be adding meta.maximus to the exclude list then.

Htbaa commented 13 years ago

The website now excludes meta.maximus from its archives.

Htbaa commented 13 years ago

It would also be nice if when you want to install a module that's already manually installed, it would still ask you to install its dependencies. On a fresh install I'd could then just do maximus install htbaapub.rest and it would install it's dependencies, even though I already have htbaapub.rest manually installed.

This would simply save a little bit of time and is more of a convenience than a necessity.

Htbaa commented 13 years ago

Looks like the current code that parses and compare module versions only accepts version in the format of 1.01 and not 1.0.1. Should change this. Basically 1.0.1 translates to 1.000001 so comparisons should be straight forward.

Version comparison should also be removed from mxModuleVersion to a mxModuleVersionObject type because it's needed for doing comparisons with metafiles.

Htbaa commented 13 years ago

@komiga Sorry to bother you on this, but were you planning on using mxInstallImpl.CheckVersions to see if the module to install is being managed by Maximus or not?

komiga commented 13 years ago

I don't recall, but I'd guess that it is for that purpose.

Htbaa commented 13 years ago

Done!