Description:
¯¯¯¯¯¯¯¯¯¯¯
Revisor is a util for creating version/revision files for C and ASM. It also
allows easy version and revision bumping. And Revisor uses NO "brain"-files to
store it's information, because all needed information for bumping is read from
the revision files itself.
History:
¯¯¯¯¯¯¯
Version 1.0
- First release
Version 1.1
- Some minor bug fixes
- Deleted "include" for iffparse.h and changed project id line
- Depending on used options, sometimes no revision file would be written.
Fixed. Reported by Nelson Sandalwood. Thanks.
- Revisor is about 1k smaller now ;-).
Usage:
¯¯¯¯¯
Command line template follows:
Revisor PRG=PRGNAME,PRO=PROJECTNAME/K,VER=VERSION/N/K,REV=REVISION/N/K,
BETA/N/K,PROVER=PROJECTVERSION/N/K,PROREV=PROJECTREVISION/N/K,
DESC=DESCRIPTION/K,AUT=AUTHOR/K,COPY=COPYRIGHT/K,C/S,ASM/S,
CPPC=CPPCOMMENT/S,NOCPPC=NOCPPCOMMENT/S,BV=BUMPVER/S,BR=BUMPREV/S,
BB=BUMPBETA/S,RB=RESETBETA/S,BPV=BUMPPROJECTVER/S,
BPR=BUMPPROJECTREV/S";
Yes, i know that this is a complex bulk of parameters, but it's very easy to
handle. The first time you create your revision file, you have to give most of
the named parameters to Revisor. The second and all other times, you only have
to give the sections you want to update or bump. Let me explain the
parameters:
PRG=PRGNAME - Here you must specify the program name for which
you want to create a revision file. You must not
add any extensions like ".c" or ".h" or
something.
PRO=PROJECTNAME/K - After this keyword you give a project name if
your program is not stand alone for example.
VER=VERSION/N/K - The ordinary version of your program.
REV=REVISION/N/K - Same for the revision parameter.
BETA/N/K - Here you specify the beta version if one.
PROVER=PROJECTVERSION/N/K - This belongs to the project and is it's version.
PROREV=PROJECTREVISION/N/K - Belongs to the project too: Project revision.
DESC=DESCRIPTION/K - Here you can give a short description of what
your program is for.
AUT=AUTHOR/K - This is your name (in most cases).
COPY=COPYRIGHT/K - This is the copyright information.
C/S - Use this switch if you want to create a C
revision file. The given PRGNAME parameter plus
"_rev.h" is the name of your revision file. This
is only for creation time or if you want to add
a C revision file to your app.
ASM/S - The switch for an ASM file. Same as above, but
the name is PRGNAME plus "_rev.i".
CPPC=CPPCOMMENT/S - This tells Revisor to use C++ comment lines.
NOCPPC=NOCPPCOMMENT/S - Tells Revisor to NOT use C++ comments. Only
usefull if you want to change you existing C++
file to normal C-style.
BV=BUMPVER/S - With this switch, you bump up your program
version by 1 (from 2 to 3 for example)
BR=BUMPREV/S - Same here, but for the revision.
BB=BUMPBETA/S - This bumps up your beta information by 1.
RB=RESETBETA/S - Same as BETA=0, but nicer ;-). Simply resets the
beta version back to zero.
BPV=BUMPPROJECTVER/S - Again the same as above, but for your overall
project version number.
BPR=BUMPPROJECTREV/S - And again the same as above for the project
revision.
That's all folks!
Example use:
¯¯¯¯¯¯¯¯¯¯¯
Let's say your application name is "App" and belongs to a project called
"Project". The current application state is version 1, revision 2 and your beta
state is 3. For your whole project, the state is V1.1. Because your program
consist of C and ASM files you need both, C and ASM revision files. And at
last, you want to use C++ comments in the C revision file, because they are
nicer.
For creating a fully new revision file for your application use the following
(sure, that you have to specify all parameters in one line ;-):
Revisor App PROJECTNAME "Project"
VERSION 1
REVISION 2
BETA 3
PROJECTVERSION 1
PROJECTREVISION 1
DESCRIPTION "My favorite application."
AUTHOR "your name"
COPYRIGHT "Copyright ©1998"
C
ASM
CPPCOMMENT
The resulting revision files look like this:
--------------------------------------------------------------------------------
// #############################################################################
// ###
// ### App_rev.h - built automatically by Revisor 1.0
// ###
// ###
// ### Revisor Copyright ©1998 by Carsten Scholling
// ### All rights reserved.
// ###
// ###
// ### DO NOT EDIT BY HAND!!!
// ###
// #############################################################################
#ifndef APP_REV_H
#define APP_REV_H
#include <libraries/iffparse.h>
#define PROJECT_ID MAKE_ID('P','R','O','J')
#define PROJECTNAME "Project"
#define NAME "App"
#define DESCRIPTION "My favorite application."
#define FULLNAME "App - My favorite application."
#define AUTHOR "your name"
#define COPYRIGHT "Copyright ©1998"
#define PROJECTVERSION 1
#define PROJECTREVISION 1
#define VERSION 1
#define REVISION 2
#define BETAVERSION 3
#define DATE "24.02.98"
#define TIME "19:41:06"
#define DAY "Dienstag"
#define VERSION_STRING "1.2ß3"
#define FULLVERSION_STRING "1.2ß3 (24.02.98)"
#define VERS "App 1.2ß3"
#define VSTRING "App 1.2ß3 (24.02.98)\r\n"
#define VERSTAG "\0$VER: App 1.2ß3 (24.02.98)"
#define CATALOG_NAME "app.catalog"
#define CATALOG_VERSION 1
#endif // APP_REV_H
--------------------------------------------------------------------------------
******************************************************************************
*
* App_rev.i - built automatically by Revisor 1.0
*
*
* Revisor Copyright ©1998 by Carsten Scholling
* All rights reserved.
*
*
* DO NOT EDIT BY HAND!!!
*
******************************************************************************
PROJECTNAME MACRO
dc.b 'Project'
ENDM
NAME MACRO
dc.b 'App'
ENDM
DESCRIPTION MACRO
dc.b 'My favorite application.'
ENDM
FULLNAME MACRO
dc.b 'App - My favorite application.'
ENDM
AUTHOR MACRO
dc.b 'your name'
ENDM
COPYRIGHT MACRO
dc.b 'Copyright ©1998'
ENDM
PROJECTVERSION EQU 1
PROJECTREVISION EQU 1
VERSION EQU 1
REVISION EQU 2
BETAVERSION EQU 3
DATE MACRO
dc.b '24.02.98'
ENDM
TIME MACRO
dc.b '19:41:06'
ENDM
DAY MACRO
dc.b 'Dienstag'
ENDM
VERSION_STRING MACRO
dc.b '1.2ß3'
ENDM
FULLVERSION_STRING MACRO
dc.b '1.2ß3 (24.02.98)'
ENDM
VERS MACRO
dc.b 'App 1.2ß3'
ENDM
VSTRING MACRO
dc.b 'App 1.2ß3 (24.02.98)',13,10,0
ENDM
VERSTAG MACRO
dc.b 0,'$VER: App 1.2ß3 (24.02.98)',0
ENDM
CATALOG_NAME MACRO
dc.b 'app.catalog'
ENDM
CATALOG_VERSION EQU 1
--------------------------------------------------------------------------------
So. The time runs away and your application is out of the beta state and it's
time to release your stuff. So you have to reset the beta version to 0. This
is done by:
Revisor App RESETBETA
or
Revisor App BETA 0
Two month later (you have forgotten to increase the revision meanwhile ;-), you
want to release the next version V1.3. Simply type:
Revisor App BUMPREV
If you only want to make some minor changes without updating the
version/revision information, but want to be up to DATE, simply use
Revisor App
This will update the date and time information each time you call Revisor (out
of a makefile for example).
Now, two years ago, you have changed thousands of source lines and want to
update to V2.0, project version 2.0. This is very easy too:
Revisor App BUMPVER BUMPPROJECTVER
Sure that you can change all the information every time by simply typing
Revisor App DESC "New description" AUTHOR "New author"
or something.
So. Think you are now familar with Revisor. But if you encounter any bugs,
have new ideas or needings or simply want to write me a mail, because you find
Revisor usefull, here my email address:
cscholling@t-online.de
|