@DATABASE BumpRevision.guide
@AUTHOR "Bert Wynants"
@(c) "Copyright © B. Wynants"
@$VER: BumpRevision.guide 1.0 (19.9.95)
@MASTER BumpRevision.readme
@INDEX Main

@NODE Main "BumpRevision Guide 1.0 Copyright © 1995 B. Wynants"

     Table of Contents:

     Welcome to the @{b}BumpRevision{ub} AmigaGuide®. Select any of the following topics:

     @{" Introducing BumpRevision " LINK Introducing}

     @{" System requirements      " LINK Requirements}

     @{" How to use BumpRevision  " LINK Usage}

     @{" About the program        " LINK About}

     @{" About the author         " LINK Author}

     @{" Program History          " LINK History}

@ENDNODE
@NODE Introducing "Introducing BumpRevision"
@TOC Main

@{b}BumpRevision@{ub} is a small utility to control versions and revisions of C and ASM
programs and catalog files. It can be run from the shell only and looks a lot like all the other revision
bumpers already available.

Why would you use @{b}BumpRevision@{ub} instead of any other revision bumper? Well...
@{b}BumpRevision@{ub} is a very simple yet flexible utility that has all the features you want.

o It generates an @{"include file" LINK projectexample} (.h or .i) in which it stores the following
  information about your program :

    - version number
    - revision number
    - date string
    - vers string in several formats
    - author name
    - project name

  If it is missing some information according to your needs. You can add that information
  yourself and @{b}BumpRevision@{ub} will keep your added things in the file.

  If it contains too much information, just delete the bits you don't like and @{b}BumpRevision@{ub}
  wont add them again.

o It has a beta counter.

o It can keep history information in your @{"sources" LINK sourceexample} (asm and c), @{"header" LINK headerexample} files and @{"catalog" LINK catalogexample} description files.

o Included is an ARexx script to be used with @{"GoldED" LINK GoldED}. If you make scripts for other editors please
  mail them to me for including.

@ENDNODE

@NODE GoldED
@TOC Introducing
Install this script in the folder 'GoldED:Arexx'.

add a menu Item named 'Do Revision' and set it to arexx : golded:arexx/DoRevision
add a menu Item named 'Bump Project' and set it to arexx : golded:arexx/DoRevision BUMP

Selecting 'Do Revision' asks you for a revision comment and adds it to the file history.
This item won't do anything if the current active window is not a source, header or catalog file.

Selecting 'Bump Project' will bump the project files in the directory of the current active window.

@ENDNODE

@NODE projectexample
@TOC Introducing

@{BG HIGHLIGHT} C example                                                      @{BG BACKGROUND}
#define VERSION     40
#define REVISION    4   /*  ß 1 */
#define DATE        "12.09.95"
#define VERS        "TIFF 40.04 ß 1"
#define VSTRING     "TIFF 40.04 ß 1 (12.09.95)\r\n"
#define VERSTAG     "\0$VER: TIFF 40.04 ß 1 (12.09.95)\r\n"
#define AUTHOR      "Bert Wynants"
#define PROJECT     "TIFF"
@{BG HIGHLIGHT} ASM example                                                    @{BG BACKGROUND}
VERSION  EQU    40
REVISION EQU    4   ;*  ß 1
DATE     MACRO
        dc.b    '12.09.95'
    ENDM
VERS     MACRO
        dc.b    'TIFF 40.04 ß 1'
    ENDM
VSTRING  MACRO
        dc.b    'TIFF 40.04 ß 1 (12.09.95)',13,10,0
    ENDM
VERSTAG  MACRO
        dc.b    0,'$VER: TIFF 40.04 ß 1 (12.09.95)',0
    ENDM
AUTHOR   MACRO
        dc.b    'Bert Wynants'
    ENDM
PROJECT  MACRO
        dc.b    'TIFF'
    ENDM
@{BG HIGHLIGHT}                                                                @{BG BACKGROUND}
@ENDNODE

@NODE sourceexample
@TOC Introducing
/** $Revision Header *** Header built automatically - do not edit! ***********
 **
 ** © Copyright Bibbersoft
 **
 ** File             : CLASSBASE.C
 ** Created on       : dinsdag, 12-sep-95
 ** Created by       : Bert Wynants
 ** Current revision : V 1.00
 **
 ** Purpose
 ** -------
 **   TIFF datatype
 **
 ** Date        Author                 Comment
 ** =========   ====================   ====================
 ** 12-sep-95   Bert Wynants           --- Initial release ---
 **
 ** $Revision Header *********************************************************/
@ENDNODE

@NODE headerexample
@TOC Introducing
/** $Revision Header *** Header built automatically - do not edit! ***********
 **
 ** © Copyright Bibbersoft
 **
 ** File             : classbase.h
 ** Created on       : dinsdag, 12-sep-95
 ** Created by       : Bert Wynants
 ** Current revision : V 1.00
 **
 ** Purpose
 ** -------
 **   TIFF datatype
 **
 ** Date        Author                 Comment
 ** =========   ====================   ====================
 ** 12-sep-95   Bert Wynants           --- Initial release ---
 **
 ** $Revision Header *********************************************************/

@ENDNODE

@NODE catalogexample
@TOC Introducing
;** $Revision Header *** Header built automatically - do not edit! ***********
;**
;** © Copyright Bibbersoft
;**
;** File             : deutsch.ct
;** Created on       : dinsdag, 12-sep-95
;** Created by       : Bert Wynants
;** Current revision : V 1.00
;**
;** Purpose
;** -------
;**   Datatype Preference Program
;**
;** Date        Author                 Comment
;** =========   ====================   ====================
;** 12-sep-95   Bert Wynants           --- Initial release ---
;**
;** $Revision Header ********************************************************
## version $VER: DTPPrefs.catalog 1.00 (12.09.95) by Bert Wynants

@ENDNODE

@NODE Requirements "System Requirements"
@TOC Main

    @{b}BumpRevision@{ub} should run on any Amiga system with at least 512K
RAM and one disk-drive.  @{b}BumpRevision@{ub} requires KickStart v2.04 or
higher to run and is currently a CLI only program.

    Should you have any trouble running @{b}BumpRevision@{ub} on your machine, please
@{"write to me" LINK Author} with the full specifications of your machine, that is KickStart
version, model, expansion boards etc...

@ENDNODE
@NODE Usage "How to use BumpRevision"
@TOC Main
    @{b}BumpRevision@{ub} can be started from the Shell only:

    Setup the following environment variables:

    AUTHOR: SetEnv AUTHOR "your name"

    COMPANY: SetEnv COMPANY "your company"

    CLI usage:

    Usage: BumpRevision BUMP/S,FILE/M/K,COMMENT/K,VERSION/K/N,REV/K/N,PROJECTNAME/K,
                        NOASM/S,NOC/S,BETA/S,RESTART/S


    Template:

      @{" BUMP/S         " LINK BUMP} increase revision or beta number.
      @{" FILE/M/S       " LINK FILE} Keep history information in file.
      @{" COMMENT/K      " LINK COMMENT} history log information.
      @{" VERSION/K/N    " LINK VERSION} Explicit Version number.
      @{" REV/K/N        " LINK REVISION} Explicit revision number.
      @{" PROJECTNAME/K  " LINK PROJECTNAME} Name of the project.
      @{" NOASM/S        " LINK NOASM} Don't generate ASM Include file.
      @{" NOC/S          " LINK NOC} Don't generate C Header file.
      @{" BETA/S         " LINK BETA} Generate beta information.
      @{" RESTART/S      " LINK RESTART} restarts history or project information.
      @{" EXISTING/S     " LINK EXISTING} only existing projectfiles are used.

Once everything is set up typing 'BumpRevision BUMP' is enough to increase the version numbers.

ex:
1>BumpRevision PROJECTNAME TestProject BUMP

this creates TestProject_rev.h and TestProject_rev.i

bumping the number from now on is done with:

1>BumpRevision BUMP

@ENDNODE

@NODE BUMP
@TOC Usage
                                 BUMP/S

This argument specifies that the Project files (_rev.h and _rev.i) must be created or if
they exist that the Revision or beta number must be increased.

@ENDNODE

@NODE VERSION
@TOC Usage
                               VERSION/K/N

This argument specifies the version number (the number before the dot).

You should increase the version number only when major changes and improvements are done.

It is only needed when you want to specify a new version number.

@ENDNODE

@NODE REVISION
@TOC Usage

                                  REV/K/N

Explicitly set the revision to a specific value. Normally @{b}BumpRevision@{ub} gets the
old revision from the file and increments it by 1.

@ENDNODE

@NODE PROJECTNAME
@TOC Usage

                                PROJECTNAME/K

This argument should be the name of your project. It will be used
for the naming of the C header file ('projectname_rev.h') and the assembly
include file ('projectname_rev.i').

Is  is  also  used for building the version strings found in the
header/include files, so keep care of the right capitalization.

It is needed only the first time, from then on you don't need to specify it.
if you don't specify it @{b}BumpRevision@{ub} will scan your current directory
and look for an existing project file.

@ENDNODE

@NODE NOASM
@TOC Usage
                                 NOASM/S

Prevents @{b}BumpRevision@{ub} from generating an include file for 68k assembly language.
Useful if version information is only used in C source codes.

Only used when @{"BUMP" LINK BUMP} is specified.
@ENDNODE

@NODE NOC
@TOC Usage
                                  NOC/S

Prevents @{b}BumpRevision@{ub} from generating a header file for C language. Useful if
version information is only used in assembly source codes.

Only used when @{"BUMP" LINK BUMP} is specified.
@ENDNODE

@NODE EXISTING
@TOC Usage
                                  EXISTING/S

Prevents @{b}BumpRevision@{ub} from generating a project file that did not exist.
e.g. You only have the _rev.h and you specify EXISTING, @{b}BumpRevision@{ub} will not
create the _rev.i file.

Use this as a smart @{"NOC" LINK NOC} and @{"NOASM" LINK NOASM}

Only used when @{"BUMP" LINK BUMP} is specified.

@ENDNODE

      @{" EXISTING/S     " LINK EXISTING} only existing projectfiles are used.
@NODE BETA
@TOC Usage
                                 BETA/S

Enables the beta version count. If BETA is given the first time the
revision is incremented as on a normal call. The beta count starts at 1.

On every following call with BETA, only the beta count will be incremented,
the revision will stay the same unless specified on the command line.

If the beta stage of the program is finished call @{b}BumpRevision@{ub} without
BETA and the beta count will be removed.

                                  HINT

Using the beta switch avoids to increment the revision on each compilation,
therefore  giving shorter revision numbers for your programs public releases.

@ENDNODE
                                  RESTART/S

Removes your current History info or Project Files and will restart them from scratch.
This can be useful if you start a new project based on an old.

@ENDNODE

@NODE FILE
@TOC Usage
                                   FILE/M/K

Keeps an history in your source, header or catalog description files.

This argument can handle multiple files and pattern matching. Thus specifying
@{b}BumpRevision@{ub} FILE #? will do all files in the current directory.
This is pretty safe because it won't touch unknown files and will only add
the comment to your sources, headers or catalog description files.

If no header is found it will create one. And the supplied comment will be
used to set the purpose of the file. The created header can be moved in the
file as long as you keep the beginning within the first 10 lines.
If the header has some lines you don't like just throw them out.
If you wan't to add lines you are allowed too.

Never change the folowing lines:

/** $Revision Header *** Header built automatically - do not edit! ***********
 ** Date        Author                 Comment
 ** =========   ====================   ====================
 ** $Revision Header *********************************************************/

NOTE:
When putting a revision header into a catalog description file make sure the projectname is
supplied (or make sure there is a <project>_rev.h or <project>_rev.i file in the folder.

@ENDNODE

@NODE COMMENT
@TOC Usage
                                  COMMENT/K

Specifies the log info to be added to the History header.

If no header is found it will create one. And the supplied comment will be
used to set the purpose of the file.

You should use this if you use the FILE keyword.

@ENDNODE

@NODE About "About the program"
@TOC Main

Current version 1.0

    This program is freeware, this means that you can copy it freely as
long as you don't ask any more money for it than a nominal fee for copying.
If you want to distribute this program you should keep this document with
it.  This program cannot be used for commercial purposes without written
permission from the @{"author" LINK Author}.

    @{b}BumpRevision@{ub} has proven to be stable in everyday use.  The author is not
responsible for any loss of data, damages to software or hardware that may
result directly or indirectly from the use of this program.  The author
reserves the right to make changes to the software or documentation without
notice.

None of the files of the BumpRevision package may be modified.  Crunching or
achieving is allowed only if none of the BumpRevision files get modified by it.

Special permission is hereby granted to include BumpRevision in Public-Domain
collections such as Fred Fish's Amiga Library.

@ENDNODE
@NODE Author "About the Author"
@TOC Main

     If you have suggestions or remarks about this program, or if you
     find any bugs, please let me know.

     When sending in bug reports, please state exactly under what
     circumstances the bug occurred, what equipment was used and what
     happened. If possible also try to give me enough information to
     reproduce the bug. It is very difficult to find bugs when you
     don't know exactly what happened.

     Write to the following address:

             email    : bert.wynants@innet.be

             Fido     :  2:292/603.76 (Bert Wynants)

             SnailMail: Wynants Bert
                        Hogeheide 6
                        B-2260 Heultje-Westerlo
                        Belgium - Europe

ENDNODE
@@NODE History "Program History"
@TOC Main

    Changes & Fixes:

    1.0  12-09-95 First release

@ENDNODE
