                     _______
                ____|__     |               (TM)
             --|       |    |-------------------
               |   ____|__  |  Association of
               |  |       |_|  Shareware
               |__|   o   |    Professionals
             -----|   |   |---------------------
                  |___|___|    MEMBER
*****************************************************************************
*   This program is produced by a member of the Association of Shareware    *
*  Professionals (ASP). ASP wants to make sure that the shareware principle *
*  works for you. If you are unable to resolve a shareware-related problem  *
*  with an ASP member by contacting the member directly, ASP may be able to *
*  help. The ASP Ombudsman can help you resolve a dispute or problem with   *
*  an ASP member, but does not provide technical support for members'       *
*  products. Please write to the ASP Ombudsman at 545 Grover Road,          *
*  Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe       *
*  message via CompuServe Mail to ASP Ombudsman 70007,3536.                 *
*
*****************************************************************************

                               VMERGE

                             Version 1.27

                      Visual Diff / Merge Program



Table of Contents:

1. Overview
2. License Agreement
   2.1 TRIAL USE LICENSE
   2.2 LIMITED DISTRIBUTION LICENSE
   2.3 WARRANTY
   2.4 What is the difference between
        the Registered and Unregistered versions?
3. Registration information
4. Using VMERGE
   4.1 Merging files
   4.2 Merging directories.
   4.3 Menus
   4.4 Keyboard shortcuts
   4.5 Command-line options
   4.6 Initialization file.
       4.6.1 Customizing File Filters
       4.6.2 Sample VMERGE.INI
5. Technical support.
6. Requirements
7. Known Bugs and Features
8. What is new in this version(compared with v1.26)
9. Next version features .
10. Address


                  1. Overview
                  ===========

        VMERGE is an easy to use program designed to help people in
     merging files.

        Those who have tried once to combine two similar versions of
     a program know how difficult it is. There are always some lines
     that get forgotten or misplaced.

        There are some utilities for comparing files and producing
     a list of differences between them, but these programs will
     often scarcely help, because one should still perform merging
     manually, cutting lines alternately from the files. On the other
     hand, there are programs that can create a third file based on
     two versions, but they are either primitive or too complex for
     everyday use.

        VMERGE makes file merging much easier by letting you to choose
     between the differing portions by a single mouse click. Its
     intuitive interface and other features allow you to minimize manual
     postprocessing thus saving your time.

        The program comes in two versions - 16 bit and 32 bit. The former
     is limited to files shorter than 64 K, while the latter has no size
     limits, supports long file names and may be run on Windows NT,
     Windows 95 or Windows 3.1 with Win32s installed (Win32s is freely
     distributed by Microsoft and may be downloaded from the following
     address: ftp://ftp.microsoft.com/Softlib/MSLFILES/PW1118.EXE).



                  2. License Agreement
                 =======================

2.1  TRIAL USE LICENSE

   VMERGE is NOT a public domain program.  It is copyrighted by
   Victor Golosovker.  This software and accompanying documentation are
   protected by United States copyright law and also by international
   treaty provisions.

   Victor Golosovker grants you a limited license to use this software
   for evaluation purposes for a period not to exceed 100 program
   executions. If you continue using this software after the
   evaluation period, you MUST make a registration payment to Victor
   Golosovker.

   You may not use, copy, rent, lease, sell, modify, decompile,
   disassemble, otherwise reverse engineer, or transfer the licensed
   program except as provided in this agreement.  Any such unauthorized
   use shall result in immediate and automatic termination of this license.
   All rights not expressly granted here are reserved to Victor Golosovker.


2.2 LIMITED DISTRIBUTION LICENSE

   Permission is granted to individuals charging no fees, and to BBSes,
   User Groups, Mail-Order Disk Vendors, CD-ROM publishers, and BBS
   File-Distribution Networks regardless of fees, to distribute
   VMERGE , provided they convey a complete and unaltered copy of
   the shareware version of this product, and provided they claim no
   ownership of these products.

   Distribution by other channels, and distribution of modified versions,
   are also allowed, but only under the terms of the attached VMERGE data
   record, which is hereby incorporated by reference. Any distribution
   satisfying all the distribution requirements expressed in that data
   record is hereby authorized.

   Permission to distribute the VMerge package is not transferable,
   assignable, saleable, or franchisable.  Each vendor wishing to
   distribute the package must independently satisfy the terms of this
   limited distribution license.


   U.S. Government Information:  Use, duplication, or disclosure by the
   U.S. Government of the computer software and documentation in this
   package shall be subject to the restricted rights applicable to
   commercial computer software as set forth in subdivision (b)(3)(ii) of
   the Rights in Technical Data and Computer Software clause at
   252.227-7013 (DFARS 52.227-7013).  The Contractor/manufacturer is
   Victor Golosovker, Havacelet 16/10, Nesher, Israel 36731.

   Victor Golosovker may revoke any permissions granted here, by
   notifying you in writing.  All rights not expressly granted here are
   reserved to Victor Golosovker.

2.3 LIMITED WARRANTY

   THIS SOFTWARE AND MANUAL ARE PROVIDED FOR EVALUATION ONLY, ON AN "AS
   IS" BASIS.  THE AUTHOR DISCLAIMS ALL WARRANTIES RELATING
   TO THIS SOFTWARE, WHETHER EXPRESSED  OR IMPLIED, INCLUDING BUT NOT
   LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
   A PARTICULAR PURPOSE. NEITHER THE AUTHOR NOR ANYONE ELSE
   WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF
   THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR
   INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE SUCH
   SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
   POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  THE PERSON USING THE SOFTWARE
   BEARS ALL RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE.

   This agreement shall be governed by the laws of the State of Israel
   and shall inure to the benefit of the author and any
   successors, administrators, heirs and assigns. Any action or proceeding
   brought by either party against the other arising out of or related to
   this agreement shall be brought only in FEDERAL COURT of
   competent jurisdiction located in Israel. The parties
   hereby consent to in personam jurisdiction of said courts.


2.4 What is the difference between
    the Registered and Unregistered versions?

   Functionally there is no difference - it's the same program with
   the same features. Just one thing - you can't use the unregistered
   version forever.  The evaluation version allows you to execute the
   program only 100 times. After that you will not be able to use the
   software. If you like the program and want to continue using it
   you are required to register(see registration section below).

   All registered users will receive future versions of VMerge upon
   their release without any additional fee.




                  3. Registration information
                 =============================

     There are three types of licences: single-user, site and world-wide.
   Single user licence limits the usage of the program to a single computer
   at any given time. Site licenses cover a single organization for an area
   of up to one hundred miles (160 km) in radius. A world-wide license covers
   everyone in a single organization. Please observe and verify the total of
   your payment as you select licenses.
     To register your copy of VMERGE, please run REGISTER.EXE provided
   with the program. If you did not receive it in your package please
   contact the author. REGISTER.EXE will help you to fill the order form
   which should be faxed or e-mailed to Kagi Shareware. REGISTER.EXE comes
   with online help explaining the registration procedure in details.
   Note that Kagi is only a processing service so any questions related
   to the product itself should be directed to the author.
     The license fee may be paid by check, money order, cash, VISA,
   MasterCard, American Express or First Virtual.
     If you wish to pay by check in an envelope you are advised to send it
   directly to the author(see the form below). In this case the processing
   time will be shorter.
     The program may be delivered by e-mail or by snail mail. In the latter
   case you should add a postal fee.
     Please check your delivery address.

   IMPORTANT:  As a registered user you will receive the latest version of
               the program and future releases.


   The following information regards only users wishing to register directly
   with the author. Please fill the form below, attach a check in US dollars
   payable to:
         Olga or Victor Golosovker,
   and send it to the following address:
         V.Golosovker,
         16/10 Havacelet,
         Nesher,
         Israel 36731.



 =======================    ORDER     FORM   ==========================


        Name: ___________________________________________________

     Company: ___________________________________________________

     Address: ___________________________________________________

              ___________________________________________________

     Tel/Fax: ___________________________________________________


     Please accept this registration fee for VMERGE v1.27.

     Please send me (check the box) :

        [ ]  Diskette with the program by mail.
            [ ] Please, send me 3 1/2" diskette
            [ ] Please, send me 5 1/4" diskette

        [ ]  The program by e-mail (address attached).
              Internet E-mail: ___________________________________________


     ________________________________________     _______________
                     SIGNED                             DATE


  Registration fee:

      Single-user licence :  $ 25.00   _____
      Site        licence :  $ 200.00  _____
      World-wide  licence :  $ 2000.00 _____

      Postal fee (if applicable): $10  _____


      TOTAL      $ _______

 ======================= END  ORDER   FORM   ==========================



                  4. Using VMERGE
                  ================

4.1 Merging files
-----------------

   1) Load files to be merged into the file panes. This can be done by
      either selecting "File 1", "File 2" items in the File menu or by
      pressing Ctrl+F1 or Ctrl+F2. You can toggle the line numbers display
      mode by selecting "Line Numbers" option in Options menu.

   2) Select Diff from File menu. The program will color the differing
      sections of both files in two colors - green and yellow. Yellow lines
      are blank lines that should be added to the file to match a segment in
      the second file. Green color means that the colored lines differ from the 
      related section in the other file or are missing at all (in this case
      lines in the second file are yellow). Vmerge shows you the relative
      positions of the differing segments on the Position Bar (two columns
      around the vertical scrollbar in the center). Each mark in the Position
      Bar is associated with a segment so you can quickly display the segment
      by positioning scrollbar against the mark.

   3) For each of the differing segments you should select one of the files by
      clicking left mouse button over the colored text. Selected segments
      will change their color to blue. If the Auto-walk mode is on the
      program will jump to the next segment as soon as you resolve the
      current one.

   4) Select "Write" from the File menu and choose the output file name.
      The results will be written to the file.

   NOTE : If the file already exists it will be overridden. The original
         file will be saved under the name <name>.bak to prevent data loss.


4.2 Merging directories.
------------------------

      Select "Compare Directories" in File menu. You will be prompted for
   first, second and target directories. Vmerge will compare the files in
   the first directory against the second directory.
      If the same version of a file is present in both places or file with
   a certain name is found only in one directory, the program will copy it
   to the destination directory.
      If two files with the same name but different contents are present
   in compared directories, they will be displayed side by side just
   as if you were comparing files in normal mode. The only difference is
   the changed File menu.
      To proceed without merging the current file you can
   select Skip in the File menu.
      To cancel comparing the directories you should choose Cancel in the
   File menu.
      To merge the current file you should resolve all the differences and
   write the result to the disk (see Merging Files section). After saving
   the merged version Vmerge will proceed to the next file.


4.3 Menus
----------

      VMERGE main window contains two file panes and menu. There are 3
   items in the menu:    File, Search, Select, Options and About.

      File menu (file comparison mode) entries are:
         File 1 - for choosing the first file name
         File 2 - for choosing the second file name
         Diff   - displays files differences
         Write  - writes the result
         Print  - prints the merged version
         Quit   - just this.

      File menu (directory comparison mode) entries are:
         Skip     - skip current file and continue comparing
         Cancel - stops directory comparison and returns to the normal mode
         Write  - writes the results and proceeds to the next file
         Print  - prints the combined version
         Quit   - just this.

      Search menu contains items:
         Next      - go to the next differing segment
         Previous  - go to the previous differing segment
         First     - go to the first differing segment
         Last      - go to the last differing segment
         Beginning - go to the first line
         End       - go to the last line

      Select menu:
         From Left    - chooses all the unresolved differences from the
                        left file
         From Right   - unresolved segments are taken from the right file
         Unselect All - dismiss all the choices made so far

      Options opens a submenu with the following items:
         Compress spaces - instructs to consider a sequence of white
                           spaces as a single space
         Auto walk    - toggles the Auto-walk mode
         Line Numbers - displays line numbers along with text
         Tab size     - sets new tab size
         Font         - selects font
         Title Font   - selects title font


     There is also a quick menu available in the file panes. It's opened
     by pressing the right mouse button. The menu contains the following
     items:
         Next
         Previous
         First
         Last
         Beginning
         End
         From Left
         From Right
         Unselect All
     These entries have the same meaning as those in main menu.



4.4 Keyboard shortcuts
----------------------

   Ctrl+F1 - load left file
   Ctrl+F2 - load right file
   Ctrl+D  - display files differences
   Ctrl+W  - write out the results.
   Ctrl+N  - Next differing section
   Ctrl+P  - Previous differing section
   Ctrl+F  - Font selection box
   Ctrl+T  - Tab size selection
   PgDown  - Next screen
   PgUp    - Previous screen
   Ctrl+PgDown  - Jump to the file end
   Ctrl+PgUp    - Jump to the file beginning
   Alt+S   - Skip to the next file (directory comparison)
   Alt+C   - Cancel directory comparison.



4.5 Command-line options
------------------------

   -d1 <dir name>
      Starting directory for the left file open dialog.
      Overrides INI file settings.

   -d2 <dir name>
      Starting directory for the right file open dialog.
      Overrides INI file settings.

   -f1 <file name>
      Loads file <file name> into the left window. If the file name does
      not contain the full path it would be first searched  in the
      current directory, then in the directory specified by -d1 option
      (or in the directory specified in the INI file if -d1 option is
      not present).

   -f2 <file name>
      Loads file <file name> into the right window. If the file name does
      not contain the full path it would be first searched  in the
      current directory, then in the directory specified by -d2 option
      (or in the directory specified in the INI file if -d2 option is
      not present).
   If both -f1 and -f2 are specified the files will be compared
   automatically right after being loaded.

   -outf <file name>
      Output results to file <file name>

   -outd <dir name>
      Use <dir name> as default output directory name


   Example:

         vmerge -d1 c:\temp -f1 file1.txt -f2 c:\misc\file2.txt

      Loads files c:\temp\file1.txt and c:\misc\file2.txt and compares them.



4.6 Initialization file.
------------------------

      Initialization file is used to store the last program state so VMERGE
   will start next time with the same options and in the same directory.
   This file (VMERGE.INI) should be present in your Windows directory.
   It contains the following sections:

   [Options] - general options.

   Keys:
      Tab size = xxx - sets tab size to xxx

      Auto walk = 0 or 1  - Auto walk mode(off/on)

      Compress spaces = 0 or 1 - treats any number of adjacent white spaces
              as a single one during file comparison (off or on)

      Line numbers = 0 or 1 - display line numbers (off or on)

   [Files] - directories options

   Keys:
        Dir name 1 = <dir name> - starting directory for the left file
              open dialog

        Dir name 2 = <dir name> - starting directory for the right file
              open dialog

        Out dir = <dir name> = initial output directory

        Current index 1 = xxx - set default filter for the left open
              dialog to filter number xxx (See Customizing File Filters).

        Current index 2 = xxx - set default filter for the right open
              dialog to filter number xxx (See Customizing File Filters).

        Save index = xxx - set default filter for the file save
              dialog to filter number xxx (See Customizing File Filters).


   [Filters] - file name filters. See Customizing File Filters section


4.6.1 Customizing File Filters
-------------------------------

      You can change the set of filters which are used by file
   open / save dialog boxes throughout the program and define the default
   filter. All these options are defined in the [Filters] section of
   VMERGE.INI . Each filter is described by two lines:

      Description <flt number> = <filter description>

      Filter <flt number> = <filter mask>

   where <flt number> is the filter id number (from 1 up to the number of
   filters), <filter description> is a text (comment), associated with the
   filter and <filter mask> is a comma-separated list of the filters. You
   should also provide the number of filters in the following form:

      Filters number = <number of filters>


4.6.2 Sample VMERGE.INI
-----------------------

      [Options]
      Tab size=3           -- tab size is 3
      Auto walk=1          -- Auto walk mode is on
      Compress spaces=1    -- Spaces compression mode is on
      Line numbers=1       -- Line numbers display mode is on

      [Filters]
      Filters number=10                         -- 10 filters are specified
      Description 1="C programs (*.c)"          -- Description #1
      Filter 1="*.c"                            -- Filter #1
      Description 2="C header files (*.h)"
      Filter 2="*.h"
      Description 3="C++ programs (*.cpp)"
      Filter 3="*.cpp"
      Description 4="C++ header files (*.hpp)"
      Filter 4="*.hpp"
      Description 5="Resource files (*.rc)"
      Filter 5="*.rc"
      Description 6="Pascal programs (*.pas)"
      Filter 6="*.pas"
      Description 7="Basic programs (*.bas)"
      Filter 7="*.bas"
      Description 8="Text files (*.txt,*.lst)"
      Filter 8="*.txt;*.lst"
      Description 9="Windows ini files (*.ini)"
      Filter 9="*.ini"
      Description 10="Backup files (*.bak)"
      Filter 10="*.bak"

      [Files]
      Current index 1=1         -- current index for the left file dialog (*.c)
      Current index 2=1         -- current index for the right file dialog (*.c)
      Dir name 1=\tmp           -- current directory for the left file dialog
      Dir name 2=C:\SOURCE\DIFF -- current directory for the right file dialog
      Save index=1              -- current index for the save file dialog (*.c)
      Out dir=C:\SOURCE\RELEASE -- current directory for the output file dialog



                  5. Technical support.
                  ====================
   Technical support will be available via mail or e-mail for registered users
only. User who submits a bug report(including all needed accompanying files
and procedures to reproduce the bug) during the first 90 days after his
registration will receive a satisfying solution to the problem or full refund
of the registration fee. Beyond the 90 days period the author is not obligated
to refund the user, though the best efforts will be made to fix reported
bugs. To get the support please contact the author:

   By e-mail:
      victor@harmonic.co.il         or
      victor@topaz.technion.ac.il

   By mail:
      Olga or Victor Golosovker,
      16/10 Havacelet,
      Nesher,
      Israel 36731.



                  6. Requirements
                  ===============

   16 bit version:
      1) 80286+ Processor

      2) Windows(3.1, NT or 95)

   32 bit version:
      1) 80386+ Processor

      2) Windows NT, Windows 95 or Windows 3.1 + Win32s



                  7. Known Bugs and Features
                  ==========================

   *  16 bit VMERGE is not guarantied to work correctly with files
      larger than 64k.

   *  The program may fail on binary files, files with extremely
      long lines or certain text processor formats such as Write.

   *  Evaluation version is limited to 100 executions.

   *  Recursive directory comparison is not implemented yet.




        8.  What is new in this version(compared with v1.26)
        ==================================================

    *  Closed bug which disabled some accelerators

    *  All options are saved in the initialization file

    *  Current directory is remembered

    *  Directory comparison(non-recursive) feature added

    *  Auto-Walk feature added

    *  User-defined file filters in file open/save dialog

    *  Some options can be specified in the command line

    *  Sections Position bar added
       (shows position of the differing sections in the file)

    *  3D look for controls (using ctl3dv2.dll)



                  9. Next version features .
                  ===========================

    *  Recursive Compare directories feature

    *  Better file filters customization




                  10. Address
                  ==============

    stdmail:
        Olga and Victor Golosovker,
        16/10 Havacelet,
        Nesher,
        Israel, 36731

    Tel.:
        972-4-8326127

    e-mail:
        victor@kagi.com
        victor@rotem.technion.ac.il


    The author will be very thankful for any comments and bug reports.
