[Patch] g-b-s: New command: upgrade-self.

Christian Franke Christian.Franke@t-online.de
Tue Nov 22 06:53:00 GMT 2005


Bas van Gompel wrote:

>[...]
>I came up with the following, which should make upgrading easier in
>the future. You'll still have to hand-merge this into your existing
>scripts though, sorry, but from then on, non-conflicting updates to
>g-b-s should be easily retrieved.
>
>How it works: When invoked with the `upgrade-self' command, the script
>attempts to get the HEAD-version from cvs, if it hasn't in the last
>24 hours. This HEAD-version is invoked with the `version' command
>to get it's CVS-revision. If it was just downloaded, the HEAD revision
>is stored in /usr/share/gbs as generic-build-script-HEAD and
>generic-build-script-<HEAD-revision> If the HEAD-revision doesn't
>match this build-script's CVS-revision, the build-script's revision
>is gotten from /usr/share/gbs if available, otherwise it is gotten
>through CVS and stored in /usr/share/gbs. Than merging is done
>on a copy of the build-script. If the merge has conflicts, one is
>given the possibility to edit the script and the option to reject the
>new script. Finally the new script is copied into place and executed
>with the remaining parameters.
>  
>


I like the idea having some semi-automatic function to update the build 
script, but:

- It should be in a separate script

Typing e.g:

  update-gbs package-VERSION.sh

instead of

  ./package-VERSION.sh update-self

is no big deal;-)

Note that "no merge conflict" does not imply "no problem", is does even 
not imply "no syntax error".
So your new script may behave interesting, especially if the update-self 
function has been updated self;-)

When updating several build scripts, this should be done by the same 
current code, not by the possibly outdated and buggy code in the current 
script itself.


- It should be possible to update scripts from local directory (like 
setup.exe provides)

So the cvs update and merge part should be separate functions.


BTW: why not put g-b-s and such additional support scripts in a package?


Christian



More information about the Cygwin-apps mailing list