_______ ____|__ | (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 .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 Starting directory for the left file open dialog. Overrides INI file settings. -d2 Starting directory for the right file open dialog. Overrides INI file settings. -f1 Loads file 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 Loads file 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 Output results to file -outd Use 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 = - starting directory for the left file open dialog Dir name 2 = - starting directory for the right file open dialog Out dir = = 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 = Filter = where is the filter id number (from 1 up to the number of filters), is a text (comment), associated with the filter and is a comma-separated list of the filters. You should also provide the number of filters in the following form: Filters number = 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.