

VPatch (c) 1993-94 VISCOM Datensysteme GmbH, Aachen                   Seite 1
-----------------------------------------------------------------------------

VPatch is a utility to make softwareupdates in form of small diff-files.
The diff-file containes only the differences between the original file
(which is actually in use) and the new version of the file (on which you will
update).

In opposite to the well known kontext-diffs on UNIX, VPatch works with all
types of files of any size.


Compared with normal software-updates the updates done with VPatch have
many advantages. For example:

1     The patchfiles have little size. The size is even smaller than
      the size the files would have packed with one of the well kown
      archivers. So you can transmit the updates easily via modem.


2     A patchfile created with VPatch is worthless without the original
      version of your software. You can publish your updates on a public
      mailboxsystem !



VPatch consist of two programs:

1      DIFF.EXE  to create the diff-file (named VPATCH.DIF)
2      DECOD.EXE to update the software




Operation of DIFF.EXE:

The program DIFF.EXE is called from the DOS commandline:

        DIFF <listfile>

The listfile is a textfile that contains as many rows you like.
Each row contains three path-/filenames.
The first two columns of each row contains the old filename.
The second column contains the new filename.
The third column contains the name of the old version of the file
at the side of the user.

So the listfile has the following appearence:

        < A > < B > < C >

        < A >  path and name of the old file,
        < B >  path and name of the new version of the file,
        < C >  path and name of the old file at the  side of the user




VPatch (c) 1993-94 VISCOM Datensysteme GmbH, Aachen                   Seite 2
-----------------------------------------------------------------------------



The listfile may contain many of such tripels.

An example:

        .\olddata\test.exe    .\newdata\test.exe      .\test.exe
        .\olddata\test.dat    .\neudata\test.dat      .\test.dat
                .
                .
                .
        .\olddata\plz.dbf     .\newdata\plz.dbf       .\data\plz.dbf


There is also the possibility to use wildcards (*, ?) in the listfile,
then you must call:

        DIFF <listfile> /W

Then the third entry of each line cannot be specified and is substituted
by the filename of second entry (without the path).

DIFF.EXE creates a file named VPATCH.DIF.
This file is the input of the program DECOD.EXE.

Other options of DIFF:

    /F    (Fast) if you have highly redundant files (textfiles or database-
          files) it may happen that the making of the difference-file
          is somewhat slow.  Then the option /F achievs a great speedup, but
          the difference-file may get a bit bigger.



    /R    (Reverse) creates another file named VPATCH.REV.
          This file file is the reverse patchfile to VPATCH.DIF.



Operation of DECOD.EXE

The operation of "DECOD.EXE" is very simple.
The program is called from the DOS commandline with the diffile as
parameter.

If the diffile-name is omitted the file VPATCH.DIF has to be present
in the same subdirectory.

DECOD.EXE searchs the files to be patched (these are the names that stand in
the third column of the listfile used by "DIFF.EXE") and proofs that the
CRC-checksums are the same as the stored values. In case that is true
the actual file is replaced by the new version.
In any other case the program shows a warning and the file isn't changed.

