Jim Wilson wrote:
Boris Koenig said:
But then, also not to have to rely on cvs-specific files which would not
necessarily be available in a release version and hence won't be
suitable to determine the base package version in general.

That's true. You are probably just too late this time around.

Well, to be honest - that was NOT my idea, I just also thought the idea would be pretty good and didn't mind to create the requested patch. The actual idea and patch-script come from Stewart Andreason on the users mailing list:

His current patch script requires a (to be patched) version of the
FlightGear base root directory and an archive with an updated version
of that directory tree. It then creates a diff of these two trees and
that diff tree is then packaged into an archive - so you would normally
only have to untar that said "diffed" archive into your old base package
in order to obtain a recent base package.

While the script itself looks pretty good and does seem to work, there
are some minor things that could be improved, like being able to
either use another directory/archive as source/target. Also, it doesn't
yet seem to take those files/folders properly into account which need to
be removed/replaced from the old release.

> It is an interesting idea having release to release patch files,
> but I am not sure what would be involved.

Yes it could indeed turn out to be quite useful in general, one of
the easier ideas would be to have checksums for each file/folder
and simply store these checksums within a specific file in
FlightGear's data root directory.

This checksum file would then contain each folder/file (absolute
position) with the appropriate checksum.

A simple syntax might already be sufficient:

file:/data/aircraft/whatever.xml chk:0f32e4f8a97c (optionally also file size)


One would then use a shell script to take care of all changes within the CVS, either that script is executed automatically after each commit - or it is run by cron job.

It would then simply create a detailed checksum list for each
revision.

In order to update a release the patch script would merely have to
compare the local (old) copy of the checksums file with the latest
version of the base package, that way it could track down all necessary
changes.

So, in order to create a patch file one would mainly need to:

        -       download specific files from cvs
        -       remove/replace specific files

Basically, one would execute a stripped down "cvs update" -
but of course this could also be web-based or use the viewcgi
perl script to retrieve the files from CVS.

So, all (new/changed) downloaded files would then be put into a
corresponding patch archive.

Additionally that script should take two other things into
consideration, 1) all files/directories that should NOT be put
into the release patch (i.e. CVS stuff)

2) also those files/folders that don't reside in the data
repository, but also need to be updated/packaged into new
base releases (the documentation/manuals would be such a case,
cause they are stored separately).



----------
Boris



_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to