home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Der Mediaplex Sampler - Die 6 von Plex
/
6_v_plex.zip
/
6_v_plex
/
DISK5
/
DOS_01
/
4DVC31.ZIP
/
4DVCREAD.ME
< prev
next >
Wrap
Text File
|
1991-01-04
|
18KB
|
277 lines
4DVC: 4DOS Version Control
4DVC is a collection of .BTM files which exploit the powers of 4DOS and
PK(UN)ZIP to provide a rudimentary yet effective Version Control System. It
should be understood at the outset that 4DVC is *NOT* a replacement for a good
commercial Version Control System; if you really need excellent function from a
VCS, you should invest the money in one. 4DVC is a simple-minded, limited-
funtion VCS for minimal use.
So just what is a Version Control System? Simply put (as implimented in
4DVC), it is a mechanism that lets you save your "IT WAS WORKING JUST FINE
BEFORE I STARTED FIDDLING WITH IT" version of a file, and allows you to recover
the file as it was before you started fiddling with it. The files in question
can be anything you wish; 4DVC doesn't care. They may be batch files,
executable modules, configuration files, data files, source-code files, etc.
Whatever files you may wish to save before you start changing them may be placed
in a 4DVC archive file. In the event that you really mess things up, you can
recover the original version of the file by extracting it from the 4DVC archive
file. Additionally, it is sometimes helpful for programmers to start with a
basic source-code file that works and then archive it. Later, when the "real"
file is severly modified (working or not), the programmer may extract the
original file for some new application as appropriate.
You should note that 4DVC does not provide the following functions that are
available in most commercial packages:
- Password Protection (Read and Write)
- Authority Levels per User to grant access to certain functions
- Incrimental Archives. Some VCS will figure-out what changes (if any)
have been made between the last version archived and the current version
being archived, and only archive the changed/added/deleted lines. The
VCS is then smart enough to "rebuild" a file by gathering all the lines
in all the archived versions. The purpose for this is to save disk
space, at the expense of increased processing time.
- Unlimited versions. 4DVC limits you to 1000 versions of any single
file. For the purposes which 4DVC was designed, this should be enough
for most people. Note that you can continue to add new versions of a
file even if you exceed the 1000-entry limit. All that happens is that
the oldest version is deleted and replaced with the newest version.
- Check-In/Check-Out. This is an integrity function that prevents you from
extracting 2 different versions of an archived file at the same time.
If you Check-Out, say, version 4, you must rearchive the file before you
can Check-Out version 6. An additional benefit is to prevent 2
programmers (perhaps on a LAN) from Checking-Out 2 different versions of
a file and Checking-In in the reverse order from what they Checked-Out.
This helps to keep programmers from clobbering each other's work.
Benefits of 4DVC over other Commercial VCS:
4DVC is not without its own merits, even if Commercial packages do offer
some very good features. Perhaps the most readily obvious benefit of 4DVC is the
fact that it is comprised entirely of .BTM files, thus allowing users to easily
apply field modifications on an immediate basis as they see fit.
Another benefit to 4DVC is the fact that it merely interfaces with PK(UN)ZIP
to do the actual storing and extracting. The good thing about this is that any
kind of file may be stored in a 4DVC archive, including .EXE and .COM files.
While a couple of the commercial packages allow such files to be archived, most
do not; they require that the file to be archived is in text format. This can
sometimes be a limitation if you choose to archive various working versions of
a configuration file (which is NOT in text format) for one of your favorite
pieces of software (see the TIPS section at the bottom of this document).
Lastly, 4DVC provides a disk-space savings over several commercial packages
as its archive files are all ZIPPED. Some commercial packages squeeze the data
in their archive files, but not all of them. Thus 15 files of 1000 bytes each
will require 15,000 bytes of disk-space (plus a little extra for overhead). 4DVC
can squeeze that down to usually half, frequently a lot more.
Example of a Practical Use of 4DVC:
4DVC was developed/debugged using 4DVC. That is, an initial .BTM file was
created that simply added all files in the current directory into an archive
file. The .BTM file was then archived every time the .BTM batch file was
executed. As new .BTM files were added to the system and more intelligence was
added to each of them, they too were archived. This was a real time-saver in
creating this system because many times an "erroneous" change was made that
proved to be disastrous. If the change was simple, I could simply undo it. But
frequently, the change was rather complex, consisting of several lines of
changes spread across 2 or more .BTM files. When the "bugs" were introduced,
recovery was as simple as extracting the previous versions of the .BTM files I
had changed.
Since 4DVC is released to the Public Domain, you may wish to change some of
functions or process-flow of the utility; feel free to do so for your own use,
but do not distribute your modified file(s) under the title 4DVC - you should
call it something else. In any event, before you start changing things, archive
all of the 4DVC files using 4DVC. Continue to do so as you make changes. If/when
you really mess things up, you can easily recover the last working version of
your VCS.
4DVC Notes and Requirements:
- You must have PK(UN)ZIP version 1.1 or better, and it must be in a directory
that is specified in your PATH (see your 4DOS manual).
- As with PK(UN)ZIP, all 4DVC files must be in a directory that your PATH
addresses, and you *MUST* be using 4DOS 3.02!
- A separate archive file is kept in each directory for the files found in
that directory. This is to keep from getting things confused if you happen
to have 3 files called TESTVGA.C in 3 different directories. Therefore, you
must execute 4DVC from within the directory where the files are that you
wish to archive.
- Separate archive files are built/maintained based on the extension of the
files you archive. That is, all .BAT files are archived to 4DVCBAT.ZIP, all
.ASM files are archived in 4DVCASM.ZIP, and so on.
- Files within the archive file have their extensions replaced with a
numeric value from 000 thru 999, so versions 1 and 2 of TESTVGA.C are kept
in 4DVCC.ZIP and are given the filenames TESTVGA.001 and TESTVGA.002.
- 4DVC relies heavily on environment variables. You should have at least 128
bytes of free environment space to successfully use 4DVC.
- Version numbers of files within the archive file are determined based upon
(last-version-archived + 1). Note that last-version-archived is based upon
the file-date and time that DOS places on the file when it is created, so
it is vital that you have your system clock set properly!
- When adding files to an archive, you are prompted for file-specs for the
4DOS SELECT command. If you do not enter any, the defaults are:
*.C?? *.H?? *.ASM *.PAS *.COB *.FOR *.BAT *.BTM *.MAK *.DOC *.DAT
- Attempting to add a file whose DOS date and time are less than or equal to
the date and time of the latest archived version will not be allowed. There
is no need to archive a file when the archive contains a later version. This
should not be a problem: if you extract an old version of the program and
don't change anything, there is no need to archive it again. If you extract
an old version and DO change it, the DOS date and time stamp will show that
the file is now more recent than anything in the archive, and your file will
be archived as desired.
- KEYSTACK.SYS must be loaded in your CONFIG.SYS as a device driver.
- Because 4DVC uses filenames that end in .000 through .999,it is possible
that a conflict of names may arise if there are existing files in your
current directory that end with the same extensions. If/When this should
happen, 4DVC will *NOT* archive the file you requested. To do so would mean
destroying the file whose name is in conflict with the file that 4DVC wants
to create. You will be clearly notified of this event should it happen, and
you will be given the orginal filename and the filename in conflict so that
you may resolve the problem.
- PK(UN)ZIP requires that enough disk space is available to hold a complete
second copy of any archive file it works with. Make sure you have plenty
of room. As 4DVC is primarily geared towards hard disk users, this should
not be a problem. Floppy users might best be served by keeping different
versions of source-files on various floppy disks, rather than using 4DVC.
- PK(UN)ZIP is a well-tested, thoroughly-exercised utility. It is extreemly
reliable and fast. However, because of the very nature of its function,
there always seems to be one more little bug popping up. PK(UN)ZIP suffers
an estimated error-rate of 1 file in several billion; a single User might
just happen to create a file that causes PK(UN)ZIP to hiccough, while the
rest of the world's users never, ever, have a problem. It's usually related
to the actual file itself (some peculiar pattern of bits and bytes) and that
particular file may never be able to be archived with PKZIP. So why am I
telling you all of this? Just so that you are aware of the possibility that
such an event *MIGHT* happen to you! The routines involved are quite complex
and no one can ever successfully test for all possibilities (*ALL* other
file archiving utilities suffer this problem; it's the nature of the beast).
If this problem does occur, there's nothing for it but to recreate your file
from scratch. So, if you have something *VERY* important, the best archive
utility is to keep a copy on each of 2 floppy diskettes, and store each
diskette in a different location!
Legal Notices:
I claim no responsibility for your results of using 4DVC (good or bad). All
this utility does is emulate your manual efforts of renaming files and using
PK(UN)ZIP to move the files into and out of .ZIP archive files. All "real"
processing is provided by 4DOS 3.02 and PKZIP 1.1 (the authors of which also
disclaim liability for your use/misuse of their products). If you aren't happy
with this disclaimer, then don't use 4DVC; buy a commercial product!
Although this utility is released to the Public Domain (and you are free to
alter any or all of the files distributed with 4DVC), I claim the following
rights:
1) I am the only one allowed to distribute the collection of files that
comprise this utility under the title of 4DVC. If you change any of the
files, you may *NOT* distribute them under the title 4DVC; call your
version something else, please. You may, however, freely distribute any
*UNMODIFIED* version of 4DVC, as long as ALL of the files are included.
2) I may, from time to time, modify the constructs and functions of 4DVC
without prior notice, including but not limited to utilization of other
software products to aid in the function of 4DVC, whether or not the
other software products are ShareWare, Public Domain, or Commercial.
Tips and Reminders:
4DVC is not magic! It cannot help you recover your data if you delete the
archive files, delete the directory in which the files are kept, fail to add
your files to the archive, or format your hard disk! DO NOT RELY UPON 4DVC AS A
"BACKUP" UTILITY! It's purpose is *NOT* to allow you to recover/restore from
mishandling of data. It's purpose is to aid you in going from one version of a
file to the next, saving your intermediate files as "stepping stones" so that
you can revert back to a previous change speedily and easily. THAT'S ALL!
Try to keep your archive files clean. Perhaps you may wish to always retain
the very, very first and the very, very last versions of a file, but once you
achieve your desired change, take a moment to go back to your archives and
delete all the intermediate versions that are no longer of any use. This will
not only save disk space, it will also be less confusing next month when you go
back to the archives and try to figure out what you have saved there!
MAKE GOOD USE OF THE COMMENTS! You will notice when you add a file to an
archive that 4DVC asks for a comment. The suggested default of current date/time
and original filename (or the comment attached to the file via 4DOS DESCRIBE)
should be used only if you cannot think of anything else better. A good comment
for the 1st version might be "ORIGINAL VERSION". Subsequent versions might have
comments like "SUCCESSFULLY ADDED COMMAND-LINE PARSER" and "FILENAME WILDCARDS
NOW FUNCTION", etc., as you progress from one stage of development to the next.
You'll thank yourself later. If you always accept the default comment, I can
almost guarantee you won't know which version is which when you have 20 or more
versions archived.
If you have never used a Version Control System before, then rest assured of
2 things. First, it will be a little confusing at first until you finally
realize that nothing complicated is going on here ("Hey, all this thing does is
let me keep multiple '.BAK' files on my disk without actually calling them
'.BAK' and without actually keeping a separate directory entry for each. This is
a piece of cake!"). Second, although you will not use 4DVC every day, more and
more uses for it will continue to pop into your head. Perhaps you might use 4DVC
to save all your WordPerfect configuration files before you go in and start
changing them. The same can be said for AUTOEXEC.BAT and CONFIG.SYS; save them
with 4DVC *BEFORE* you start changing them. If you really mess things up, just
extract the original version of each file from 4DVC and viola! Back where you
were before you messed up.
A colleague of mine takes the previous WordPerfect example a step further;
he needs various WP configurations due to the needs of different printers and
different clients. Further, each client needs different configurations depending
on the documents involved. So how does he manage? He keeps each different
configuration in 4DVC with a comment describing each. When he needs a different
configuration, rather than manually change everything in WP (and sometimes
forgetting to set some options), he simply extracts the proper configuration
file from 4DVC and he is ready to run WP!
Several people have written to tell me what they are using 4DVC for; some of
their ideas are quite original, so I thought I would pass them along to you.
A programmer using dBase/Clipper uses 4DVC to keep several different Test
Files available while she is developing/modifying her programs. She had gone to
a lot of trouble to create these Test Files - they have records that will
exercise all parts of her programs. Prior to 4DVC, everytime she ran a test, her
test files would be modified, and she whould have to "undo" the changes. Now she
uses 4DVC to save her Test Files in unmodified form, saving her time.
A department manager has developed a rather complex Computer-Usage system
using 4DVC and 4DOS LOG as its basis. I don't quite understand all the details,
but he did say that all PC's in his department LOG all activity during the day.
At midnight and/or reboot time (using KEYSTACK for auto-response), each LOG file
is archived with 4DVC and a fresh LOG started. On Mondays, he collects all of
the archive files and runs them through some other utility he has. Prior to this
his staff had to manually copy the LOG to diskette each day and start a new LOG.
Another inventive person has developed a Boot-Configuration utility using
4DVC. Different versions of AUTOEXEC.BAT and CONFIG.SYS are saved in 4DVC. When
a unique configuration is required, these 2 files are extracted, then the
system is rebooted.
I hope this utility is of use to you. I will not claim that 4DVC is even in
the same league with commercial VCS, but those of you who do not own one may
find some benefit in 4DVC. I have access to a very good commercial VCS, but it
is on a mainframe. I do not have one for micro-computers, and that is why I
threw this utility together (actually, I did a little more than just "throw it
together"). For now, it works for me and the others that have beta tested it. As
time rolls on, you (and I) will probably end up scrapping this utility for a
commercial version, which leads me to my last tip and parting comment; When you
find yourself saying things like "Gee, I wish 4DVC could do this or that" or "I
gotta have some password security on this thing", etc., then its time to pick up
a micro-magazine and send in the Reader Information-Request form and get
yourself a commercial package. History has well proven that those who don't use
VCS don't use them. But those that do rely upon them heavily and are constantly
pushing their package to the limits. So, when it's time to buy, it's time to
buy! Thanks for trying 4DVC - I hope it saves you lots of time and frustration.
Ric Naff
2023 Shortal Dr.
Dallas, TX 75217