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 >
Text File  |  1991-01-04  |  18KB  |  277 lines

  1.                         4DVC: 4DOS Version Control
  2.  
  3.  
  4.     4DVC is a collection of .BTM files which exploit the powers of 4DOS and
  5. PK(UN)ZIP to provide a rudimentary yet effective Version Control System. It
  6. should be understood at the outset that 4DVC is *NOT* a replacement for a good
  7. commercial Version Control System; if you really need excellent function from a
  8. VCS, you should invest the money in one. 4DVC is a simple-minded, limited-
  9. funtion VCS for minimal use.
  10.  
  11.     So just what is a Version Control System? Simply put (as implimented in
  12. 4DVC), it is a mechanism that lets you save your "IT WAS WORKING JUST FINE
  13. BEFORE I STARTED FIDDLING WITH IT" version of a file, and allows you to recover
  14. the file as it was before you started fiddling with it.  The files in question
  15. can be anything you wish; 4DVC doesn't care.  They may be batch files,
  16. executable modules, configuration files, data files, source-code files, etc.
  17. Whatever files you may wish to save before you start changing them may be placed
  18. in a 4DVC archive file. In the event that you really mess things up, you can
  19. recover the original version of the file by extracting it from the 4DVC archive
  20. file. Additionally, it is sometimes helpful for programmers to start with a
  21. basic source-code file that works and then archive it. Later, when the "real"
  22. file is severly modified (working or not), the programmer may extract the
  23. original file for some new application as appropriate.
  24.  
  25.     You should note that 4DVC does not provide the following functions that are
  26. available in most commercial packages:
  27.       - Password Protection (Read and Write)
  28.       - Authority Levels per User to grant access to certain functions
  29.       - Incrimental Archives. Some VCS will figure-out what changes (if any)
  30.         have been made between the last version archived and the current version
  31.         being archived, and only archive the changed/added/deleted lines. The
  32.         VCS is then smart enough to "rebuild" a file by gathering all the lines
  33.         in all the archived versions. The purpose for this is to save disk
  34.         space, at the expense of increased processing time.
  35.       - Unlimited versions. 4DVC limits you to 1000 versions of any single
  36.         file. For the purposes which 4DVC was designed, this should be enough
  37.         for most people. Note that you can continue to add new versions of a
  38.         file even if you exceed the 1000-entry limit. All that happens is that
  39.         the oldest version is deleted and replaced with the newest version.
  40.       - Check-In/Check-Out. This is an integrity function that prevents you from
  41.         extracting 2 different versions of an archived file at the same time.
  42.         If you Check-Out, say, version 4, you must rearchive the file before you
  43.         can Check-Out version 6. An additional benefit is to prevent 2
  44.         programmers (perhaps on a LAN) from Checking-Out 2 different versions of
  45.         a file and Checking-In in the reverse order from what they Checked-Out.
  46.         This helps to keep programmers from clobbering each other's work.
  47.  
  48.     Benefits of 4DVC over other Commercial VCS:
  49.  
  50.     4DVC is not without its own merits, even if Commercial packages do offer
  51. some very good features. Perhaps the most readily obvious benefit of 4DVC is the
  52. fact that it is comprised entirely of .BTM files, thus allowing users to easily
  53. apply field modifications on an immediate basis as they see fit.
  54.  
  55.     Another benefit to 4DVC is the fact that it merely interfaces with PK(UN)ZIP
  56. to do the actual storing and extracting. The good thing about this is that any
  57. kind of file may be stored in a 4DVC archive, including .EXE and .COM files.
  58. While a couple of the commercial packages allow such files to be archived, most
  59. do not; they require that the file to be archived is in text format. This can
  60. sometimes be a limitation if you choose to archive various working versions of
  61. a configuration file (which is NOT in text format) for one of your favorite
  62. pieces of software (see the TIPS section at the bottom of this document).
  63.  
  64.     Lastly, 4DVC provides a disk-space savings over several commercial packages
  65. as its archive files are all ZIPPED. Some commercial packages squeeze the data
  66. in their archive files, but not all of them. Thus 15 files of 1000 bytes each
  67. will require 15,000 bytes of disk-space (plus a little extra for overhead). 4DVC
  68. can squeeze that down to usually half, frequently a lot more.
  69.  
  70.  
  71.     Example of a Practical Use of 4DVC:
  72.  
  73.     4DVC was developed/debugged using 4DVC. That is, an initial .BTM file was
  74. created that simply added all files in the current directory into an archive
  75. file. The .BTM file was then archived every time the .BTM batch file was
  76. executed. As new .BTM files were added to the system and more intelligence was
  77. added to each of them, they too were archived. This was a real time-saver in
  78. creating this system because many times an "erroneous" change was made that
  79. proved to be disastrous. If the change was simple, I could simply undo it. But
  80. frequently, the change was rather complex, consisting of several lines of
  81. changes spread across 2 or more .BTM files. When the "bugs" were introduced,
  82. recovery was as simple as extracting the previous versions of the .BTM files I
  83. had changed.
  84.  
  85.     Since 4DVC is released to the Public Domain, you may wish to change some of
  86. functions or process-flow of the utility; feel free to do so for your own use,
  87. but do not distribute your modified file(s) under the title 4DVC - you should
  88. call it something else. In any event, before you start changing things, archive
  89. all of the 4DVC files using 4DVC. Continue to do so as you make changes. If/when
  90. you really mess things up, you can easily recover the last working version of
  91. your VCS.
  92.  
  93.  
  94.     4DVC Notes and Requirements:
  95.  -  You must have PK(UN)ZIP version 1.1 or better, and it must be in a directory
  96.     that is specified in your PATH (see your 4DOS manual).
  97.  -  As with PK(UN)ZIP, all 4DVC files must be in a directory that your PATH
  98.     addresses, and you *MUST* be using 4DOS 3.02!
  99.  -  A separate archive file is kept in each directory for the files found in
  100.     that directory. This is to keep from getting things confused if you happen
  101.     to have 3 files called TESTVGA.C in 3 different directories. Therefore, you
  102.     must execute 4DVC from within the directory where the files are that you
  103.     wish to archive.
  104.  -  Separate archive files are built/maintained based on the extension of the
  105.     files you archive. That is, all .BAT files are archived to 4DVCBAT.ZIP, all
  106.     .ASM files are archived in 4DVCASM.ZIP, and so on.
  107.  -  Files within the archive file have their extensions replaced with a
  108.     numeric value from 000 thru 999, so versions 1 and 2 of TESTVGA.C are kept
  109.     in 4DVCC.ZIP and are given the filenames TESTVGA.001 and TESTVGA.002.
  110.  -  4DVC relies heavily on environment variables. You should have at least 128
  111.     bytes of free environment space to successfully use 4DVC.
  112.  -  Version numbers of files within the archive file are determined based upon
  113.     (last-version-archived + 1). Note that last-version-archived is based upon
  114.     the file-date and time that DOS places on the file when it is created, so
  115.     it is vital that you have your system clock set properly!
  116.  
  117.  -  When adding files to an archive, you are prompted for file-specs for the
  118.     4DOS SELECT command. If you do not enter any, the defaults are:
  119.  
  120.        *.C?? *.H?? *.ASM *.PAS *.COB *.FOR *.BAT *.BTM *.MAK *.DOC *.DAT
  121.  
  122.  -  Attempting to add a file whose DOS date and time are less than or equal to
  123.     the date and time of the latest archived version will not be allowed. There
  124.     is no need to archive a file when the archive contains a later version. This
  125.     should not be a problem: if you extract an old version of the program and
  126.     don't change anything, there is no need to archive it again. If you extract
  127.     an old version and DO change it, the DOS date and time stamp will show that
  128.     the file is now more recent than anything in the archive, and your file will
  129.     be archived as desired.
  130.  -  KEYSTACK.SYS must be loaded in your CONFIG.SYS as a device driver.
  131.  -  Because 4DVC uses filenames that end in .000 through .999,it is possible
  132.     that a conflict of names may arise if there are existing files in your
  133.     current directory that end with the same extensions. If/When this should
  134.     happen, 4DVC will *NOT* archive the file you requested. To do so would mean
  135.     destroying the file whose name is in conflict with the file that 4DVC wants
  136.     to create. You will be clearly notified of this event should it happen, and
  137.     you will be given the orginal filename and the filename in conflict so that
  138.     you may resolve the problem.
  139.  
  140.  -  PK(UN)ZIP requires that enough disk space is available to hold a complete
  141.     second copy of any archive file it works with. Make sure you have plenty
  142.     of room. As 4DVC is primarily geared towards hard disk users, this should
  143.     not be a problem. Floppy users might best be served by keeping different
  144.     versions of source-files on various floppy disks, rather than using 4DVC.
  145.  -  PK(UN)ZIP is a well-tested, thoroughly-exercised utility. It is extreemly
  146.     reliable and fast. However, because of the very nature of its function,
  147.     there always seems to be one more little bug popping up. PK(UN)ZIP suffers
  148.     an estimated error-rate of 1 file in several billion; a single User might
  149.     just happen to create a file that causes PK(UN)ZIP to hiccough, while the
  150.     rest of the world's users never, ever, have a problem. It's usually related
  151.     to the actual file itself (some peculiar pattern of bits and bytes) and that
  152.     particular file may never be able to be archived with PKZIP. So why am I
  153.     telling you all of this? Just so that you are aware of the possibility that
  154.     such an event *MIGHT* happen to you! The routines involved are quite complex
  155.     and no one can ever successfully test for all possibilities (*ALL* other
  156.     file archiving utilities suffer this problem; it's the nature of the beast).
  157.     If this problem does occur, there's nothing for it but to recreate your file
  158.     from scratch. So, if you have something *VERY* important, the best archive
  159.     utility is to keep a copy on each of 2 floppy diskettes, and store each
  160.     diskette in a different location!
  161.  
  162.  
  163.     Legal Notices:
  164.  
  165.     I claim no responsibility for your results of using 4DVC (good or bad). All
  166. this utility does is emulate your manual efforts of renaming files and using
  167. PK(UN)ZIP to move the files into and out of .ZIP archive files. All "real"
  168. processing is provided by 4DOS 3.02 and PKZIP 1.1 (the authors of which also
  169. disclaim liability for your use/misuse of their products). If you aren't happy
  170. with this disclaimer, then don't use 4DVC; buy a commercial product!
  171.  
  172.     Although this utility is released to the Public Domain (and you are free to
  173. alter any or all of the files distributed with 4DVC), I claim the following
  174. rights:
  175.  
  176.     1) I am the only one allowed to distribute the collection of files that
  177.        comprise this utility under the title of 4DVC. If you change any of the
  178.        files, you may *NOT* distribute them under the title 4DVC; call your
  179.        version something else, please. You may, however, freely distribute any
  180.        *UNMODIFIED* version of 4DVC, as long as ALL of the files are included.
  181.     2) I may, from time to time, modify the constructs and functions of 4DVC
  182.        without prior notice, including but not limited to utilization of other
  183.        software products to aid in the function of 4DVC, whether or not the
  184.        other software products are ShareWare, Public Domain, or Commercial.
  185.  
  186.     Tips and Reminders:
  187.  
  188.     4DVC is not magic! It cannot help you recover your data if you delete the
  189. archive files, delete the directory in which the files are kept, fail to add
  190. your files to the archive, or format your hard disk!  DO NOT RELY UPON 4DVC AS A
  191. "BACKUP" UTILITY! It's purpose is *NOT* to allow you to recover/restore from
  192. mishandling of data. It's purpose is to aid you in going from one version of a
  193. file to the next, saving your intermediate files as "stepping stones" so that
  194. you can revert back to a previous change speedily and easily. THAT'S ALL!
  195.  
  196.     Try to keep your archive files clean. Perhaps you may wish to always retain
  197. the very, very first and the very, very last versions of a file, but once you
  198. achieve your desired change, take a moment to go back to your archives and
  199. delete all the intermediate versions that are no longer of any use.  This will
  200. not only save disk space, it will also be less confusing next month when you go
  201. back to the archives and try to figure out what you have saved there!
  202.  
  203.     MAKE GOOD USE OF THE COMMENTS! You will notice when you add a file to an
  204. archive that 4DVC asks for a comment. The suggested default of current date/time
  205. and original filename (or the comment attached to the file via 4DOS DESCRIBE)
  206. should be used only if you cannot think of anything else better. A good comment
  207. for the 1st version might be "ORIGINAL VERSION". Subsequent versions might have
  208. comments like "SUCCESSFULLY ADDED COMMAND-LINE PARSER" and "FILENAME WILDCARDS
  209. NOW FUNCTION", etc., as you progress from one stage of development to the next.
  210. You'll thank yourself later. If you always accept the default comment, I can
  211. almost guarantee you won't know which version is which when you have 20 or more
  212. versions archived.
  213.  
  214.     If you have never used a Version Control System before, then rest assured of
  215. 2 things. First, it will be a little confusing at first until you finally
  216. realize that nothing complicated is going on here ("Hey, all this thing does is
  217. let me keep multiple '.BAK' files on my disk without actually calling them
  218. '.BAK' and without actually keeping a separate directory entry for each. This is
  219. a piece of cake!").  Second, although you will not use 4DVC every day, more and
  220. more uses for it will continue to pop into your head. Perhaps you might use 4DVC
  221. to save all your WordPerfect configuration files before you go in and start
  222. changing them. The same can be said for AUTOEXEC.BAT and CONFIG.SYS; save them
  223. with 4DVC *BEFORE* you start changing them.  If you really mess things up, just
  224. extract the original version of each file from 4DVC and viola! Back where you
  225. were before you messed up.
  226.     A colleague of mine takes the previous WordPerfect example a step further;
  227. he needs various WP configurations due to the needs of different printers and
  228. different clients. Further, each client needs different configurations depending
  229. on the documents involved. So how does he manage? He keeps each different
  230. configuration in 4DVC with a comment describing each. When he needs a different
  231. configuration, rather than manually change everything in WP (and sometimes
  232. forgetting to set some options), he simply extracts the proper configuration
  233. file from 4DVC and he is ready to run WP!
  234.  
  235.    Several people have written to tell me what they are using 4DVC for; some of
  236. their ideas are quite original, so I thought I would pass them along to you.
  237.  
  238.    A programmer using dBase/Clipper uses 4DVC to keep several different Test
  239. Files available while she is developing/modifying her programs. She had gone to
  240. a lot of trouble to create these Test Files - they have records that will
  241. exercise all parts of her programs. Prior to 4DVC, everytime she ran a test, her
  242. test files would be modified, and she whould have to "undo" the changes. Now she
  243. uses 4DVC to save her Test Files in unmodified form, saving her time.
  244.  
  245.    A department manager has developed a rather complex Computer-Usage system
  246. using 4DVC and 4DOS LOG as its basis. I don't quite understand all the details,
  247. but he did say that all PC's in his department LOG all activity during the day.
  248. At midnight and/or reboot time (using KEYSTACK for auto-response), each LOG file
  249. is archived with 4DVC and a fresh LOG started. On Mondays, he collects all of
  250. the archive files and runs them through some other utility he has. Prior to this
  251. his staff had to manually copy the LOG to diskette each day and start a new LOG.
  252.  
  253.     Another inventive person has developed a Boot-Configuration utility using
  254. 4DVC. Different versions of AUTOEXEC.BAT and CONFIG.SYS are saved in 4DVC. When
  255. a unique configuration is required, these 2 files are extracted, then the
  256. system is rebooted.
  257.  
  258.     I hope this utility is of use to you. I will not claim that 4DVC is even in
  259. the same league with commercial VCS, but those of you who do not own one may
  260. find some benefit in 4DVC. I have access to a very good commercial VCS, but it
  261. is on a mainframe. I do not have one for micro-computers, and that is why I
  262. threw this utility together (actually, I did a little more than just "throw it
  263. together"). For now, it works for me and the others that have beta tested it. As
  264. time rolls on, you (and I) will probably end up scrapping this utility for a
  265. commercial version, which leads me to my last tip and parting comment; When you
  266. find yourself saying things like "Gee, I wish 4DVC could do this or that" or "I
  267. gotta have some password security on this thing", etc., then its time to pick up
  268. a micro-magazine and send in the Reader Information-Request form and get
  269. yourself a commercial package. History has well proven that those who don't use
  270. VCS don't use them. But those that do rely upon them heavily and are constantly
  271. pushing their package to the limits. So, when it's time to buy, it's time to
  272. buy! Thanks for trying 4DVC - I hope it saves you lots of time and frustration.
  273.  
  274.                                                        Ric Naff
  275.                                                        2023 Shortal Dr.
  276.                                                        Dallas, TX 75217
  277.