Home
User Manual, Version 3.3
Contents
1. Default Context Guidelines Classify Differences as Important Always Highlight e Case is Important whitespace is Important Treat TABs as Whitespace j Cancel 62 Rulesets Within source code there are usually three types of content These are called Contexts Literal Context Quoted strings and other such text where you want exact matching For example changing the whitespace or letter case within a string prompt may change the behavior of a progrem We will mark changes in this context as Important Comment Context Within a source code comment you may want to relax the rules some and disregard some of the changes For example suppose you have a large block of comment text and you re wrap it in one version of the file You might like to hide the change and pretend it s not there We will mark changes in this context as Unimportant Default Context Everything Else Any content that cannot be assigned to one of the above contexts is said to be in the Default Context For source code this is generally the bulk of the file Generally changes in this context should be marked as Important but you may override that Matched Contexts Literals and Comments are said to be Matched Contexts because we need to have a pattern to identify them Matched Contexts Comment A to Add Comment to EOL Escape character Literal to or EOL Escape character Lit
2. Hello World static int foo YOUR CONSTANT static int ftoo MY CONSTANT gt Changes 2 Imp 1 Unimp 22 File Diff Merge Windows File Editing File Diff and Merge Windows only allow 1 of the files in the set to be edited This is called the Editable Panel This is the file in the right panel in a File Diff Window and the center panel in a File Merge Window on the Edit View DiffMerge enables two types of editing Interactive Editing and Patching Interactive Editing The term Interactive Editing refers to the normal editing operations found in most text editors and includes inserting deleting text with the keyboard and mouse and the standard cut copy paste clipboard operations Patching The term Patching refers to the various commands that let you apply a change to the Editable Panel using the content of the other panel s These commands are based upon concept of a Highlighted Change With a change highlighted you can use the right mouse context menu to select an action identical line identical line identical line non matching line identical line identical line identical line atching line matching line identical line identical line identical line hon marcpisecrinac ci Rarzuixzcizsn c77U Y Batening line 70007 identical Replace with This default identical line conflict Prepend This Conflict Line identical Append This identical line Patching Verbs The content of the context menu will
3. Amnialy sis Detail Level a AA A A AS 36 Multi Line Intra Line Analysis Detail Level oooooococcoccnconcnnoncnnoncononnoncnnoncnnons 37 Int a Ine Smoothins Threshold serca ltda 38 Inter line Smoothing Threshold sia ii 39 The Ling Colors Pare EEN 39 Th Tntra Dine Colors Page unta ia 40 ThesOther Colors Pastis 41 The Polder Windows Pare a a o en 42 EOS NAAA EAS EA AA AAA A AA AS 43 Window ODUONS MS Uu 43 The Polder Filtern Pase cnica lira ia o cep idus 44 A O 45 SUDOESTE AE AA ASS 45 The Foder Colors Pareado 45 Th sEquivalence Mode Page uti aeo viale rta dida ion Ert ea man Boe pM A 46 Pale Equivalenes Modest da bins comis elias 4 The Messages Pase AA AS A 48 The Explorer Intestation Pare ads 49 Dy SECT A Gc taster opa sete latns asse UA AN 50 E 51 sine Explorer Inte eran soa dette S E doa ud al Na 51 The External Tools Page siete aot icone o tos 52 Overall COn ourat ON A de 53 SS O A IT T 55 ONCE WA A AE AAA A Db bote atte 55 Th Rulestt Dialos ns as Do Thes Name Pase uus too bunten is 55 The Charaoter Eneodines Page id 56 Themes to Ott Paseos douce aides als oou te sedo Mp dtl voltu uet raus 59 The Lmne atid hi Pite neen evt dex tube ditus a unte Died aula f candid 60 The Content Handlins Page scies dv ome b ista 62 Egutvolence Modest is e bath e dte utut tet iere 65 Te Externa k Tool Ed 67 ONCE E 67 Launching an Extermal TOO uo detiene ii dara 67 The External Tools Dilo o Soto metre Abat
4. It also shows you which files are different and optionally which are equivalent or identical D ancestor branch_1 SourceGear DiffMerge File View Tools Help AL C examples ancestor C examples branch 1 About Box me es Se SS m UN em RR o e HUMEUR T TR HERE MERA xdi EET TT PUENTE met a ree ZAboutBox RD OE on Smoothed cpp AboutBox ConflictAggregation Smoo AboutBox encl cpp ADE outBox encl cpp AboutBox eol cpp AboutBox eol cpp AboutBox Marker CDD Acute Marker cpp 7 AboutBox Marker2 Cpp AboutBox Marker2 cpp AboutBox TypesOfChanges 2 cpp AboutBox TypesOfChanges 2 cpp AboutBox TypesOfChanges 3 cpp AboutBox TypesOfChanges 3 cpp AboutBox Unimportant cpp AboutBox Unimportant ecpp lomit_regex re lomit_regex re subfolderllPreview IntraLineMode 2 cpp subfolderi Preview IntraLineMode m subfolderl Preview IntraLineMode 3 cpp subfolderl Preview IntraLineMode y subfolderl Preview LineMode 2 txt subfolderl Preview LineMode 2 txt A sub folderl Preview LineMode 3 txt sub folderi Preview Li neMode 3 TAE yersion h m Identical 13 Different 2 Equivalent 1 TUN Withot You can use this for example to compare two versions of a software project and quickly see an overview of the changes between them You can then click on an individual pair files to open a
5. gt gt gt strBuildLabel c str gt return strVerzion Intra line Smoothing Threshold The Intra line Smoothing Threshold causes small spans of equal text between 2 intra line changes to be marked as part of one combined change This helps eliminate noise within the line Intra line Smoothing Threshold 3 In the following the threshold was set to O disabled Notice how the x characters are matched up between the changes on the line Fe me III III III III III III III T qaquqadqgqi2z3zx456xx739xxx012xxxx345ugqgqgqgauag qaqqadadqagAscxDEFxxGHIxxxJELxxxxMHCOdgagaaqaquag include lt ConfigPch h gt include lt ConfigPch h gt In the following the threshold was set to 3 Notice how the x xx and xxx sequences are combined with the surrounding changes But the xxxx sequence is not affected qaquqadqgqi2z3x456xx7389xxx012xxxx345gqgqgqaquag qaqqadadqagABSCxDEFxExxGHIxXXxxJELxxxxMHCdgdqaaqaqug include lt ConfigPch h gt include lt ConfigPch h gt The intra line threshold value doesn t change any difference analysis results it only affects the coloring of short spans of text within the line The intra line threshold is only used when the Detail Level is set to Lines and Characters 38 The Options Dialog Inter line Smoothing Threshold The Inter line Smoothing Threshold causes small groups of equal lines between two changes to be marked as part of one combined change In
6. identical line CONFLICT LINE identical line identical line identical line tching line identical line Conflict Line identical line In Lines and Characters mode DiffMerge performs line by line difference analysis and then within each change block it performs intra line difference analysis Lines are colored using the overall line status color and then intra line highlights are added For example in a File Diff Window important identical ES EA important change unimportant change And in a File Merge Window a important identical unimportant identicez IMPORTANT Hon Martching ci UNIMPORIANT Non Matchi identica unimportant identical a important identical if unimportant identical IMPORTANT change UNIMPORTANT change A important identical A unimportant identica important Matching change unimpartant Matching identical line conflict BBBB bbbb inportant Matching change fcunimportent Matching 17 1mportant identical B unimportant identica inportant Matching changes unimpartant Marching identical line conflict 0000 coco inportant Matching change unimpartant Marching File Diff Merge Windows Highlighting Changes Highlighed Changes are surrounded by a dotted line When a change is highlighted 1t may be acted upon by the Apply Change 15 commands and the custom right mouse context menus You can also use the Next Previous C
7. Added About SourceGear information Added a local web page containing information about SourceGear to the stand alone version of the program 4 Added ZIP packaged version for Windows In addition to the usual Windows MSI installer package created a ZIP package This allows DiffMerge to be used by simply unpacking the ZIP file and running DiffMerge exe and without running any kind 85 Release Notes of installer This can be used to run DiffMerge from portable drives or on systems where you don t have administrator access DiffMerge exe looks for the various help files in the same directory as the EXE so for best results please maintain the package directory structure and run DiffMerge exe from the package directory Please note that this version uses the registry HKCU only to store per user configuration information last window geometry recently used files and etc So 1t does not completely satify the portable application http en wikipedia org wiki Portable application definition but this is a first step Release 3 0 0 June 2007 This is the initial release of SourceGear DiffMerge 3 0 http www sourcegear com diffmerge index html This is the first version of a new application to visually compare and merge files and to compare folders It runs on Windows Mac OS X and Linux This is the first version to be released as a FREE http www w sourcegear com diffmerge downloads html stand alone utility applicatio
8. Colors Equivalence Mode Messages Explorer Integration External Tools Restore Personal Defaults System wide Settings The integration feature is provided by a DiffMerge supplied library that is loaded by Windows Explorer This library must be registered with the operating system before Windows Explorer will use it This is a system wide setting and will affect all users of the computer You may register or unregister this library at any time using the Register Now or Unregister Now buttons These command buttons require administrator privileges On Vista these commands should automatically attempt to elevate before registering System wide Settings for Windows Explorer Integration tenister Nei Unregister Now If you installed DiffMerge using the MSI Package the library is automatically pre registered for you If you installed DiffMerge using the ZIP Archive or received DiffMerge as part of Vault or Fortress the library is not pre registered 50 The Options Dialog Personal Settings Once the library has been registered with the system you may personally enable or disable the feature in your user account Personal Settings for Windows Explorer Integration Enable the DiffMerge Context Menu in Windows Explorer The Restore Personal Defaults button restores your personal settings to their original factory settings it does not affect the system wide settings Using Explorer Integration When Explor
9. Integration i External Tools Voids Color Scheme of Other Colors Foreground Background Window Lines Omitted from Analysis Line Numbers Caret Selection Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings The Folder Windows Page The Folder Windows Page contains basic settings for Folder Diff Windows 42 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Line Colors Intra Line Colors Window Font Courier New 10 Point Choose Other Colors Printer Font E Folder Windows Folder Filters Courier New 10 Point Folder Colors Equivalence Mode Messages Explorer Integration Check for Modified Files Folders when Folder Windows are Activated External Tools Window Options Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings Fonts The Window Font and Printer Font fields determine the screen and printer fonts used to draw and print the Window The Choose buttons raise the standard system font chooser Window Font Courier New 10 Point Choose Printer Font Courier New 10 Point Window Options The Window Options box contains miscellaneous settings 43 The Options Dialog Window Options FI Check for Modified Files Falders when Folder Windows are Ac
10. The Multi Line Intra Line Analysis Detail Level determines how hard DiffMerge works to match up characters within a multiple line change when in Lines and Characters mode Multi Line Intra Line Analysis Detail Level Disabled 9 Simple Complete n Complete mode the entire body of the change spanning all of the lines in the change are essentially joined into a single line before doing the character level analysis This allows changes introduced by re wrapping text to be separated from actual changes to the text Tip This mode can be very expensive if the files have lots of changes and or have very low correlation Disable it or switch to Simple mode if you experience performance problems n Simple mode lines are joined like in Complete mode but this is limited to short change blocks to avoid using an excessive amount of time and memory on highly uncorrelated blocks f Disabled DiffMerge does not attempt to join lines before doing the character level analysis For example the following images show where a line of source code was broken across several lines in one version When in Simple or Complete mode only the whitespace is highlighted because DiffMerge matches up the words by crossing the line boundaries C examples ancestor AboutBox cpp gt wxotring strVersion wxString Format Version td td td 3d 33 mo m0 090 090 0 0 3 VER MAJOR VERSION VER MINOR VERSION VER MINOR SUBVERSION VE gt ret
11. Therefore you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes You may not copy the printed materials accompanying the SOFTWARE PRODUCT 3 DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS 3a Limitations on Reverse Engineering Decompilation and Disassembly You may not reverse engineer decompile or disassemble the SOFTWARE PRODUCT except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation 3b Rental You may not rent or lease the SOFTWARE PRODUCT 3c Software Transfer You may permanently transfer all of your rights under this Agreement provided you retain no copies you transfer all of the SOFTWARE PRODUCT including all component parts the media and printed materials any upgrades and this Agreement and the recipient agrees to the terms of this Agreement If the SOFTWARE PRODUCT is an upgrade any transfer must include all prior versions of the SOFTWARE PRODUCT 3d Termination Without prejudice to any other rights SourceGear LLC may terminate this Agreement if you fail to comply with the terms and conditions of this Agreement In such event you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts 3e Distribution You may not distribute this product or any portion thereof or any derived work thereof to anyone outside your o
12. Universal binary that can run on both PPC and Intel systems After downloading the most recent DMG file click to let OS X open it Inside you will find the DiffMerge Application bundle Simply drag it to your Applications folder or your desktop This application bundle is completely self contained 6060 i DiffMerge 3 3 0 1000 O A ENS Elz lol Lejla a Y DEVICES Fal Seagate 7 50 Y PLACES CommandLine DiffMerge Diff MergeManual pdf E Desktop A jeff A Applications RTI THT Y SEARCH FOR License rtf Readme txt 1 of 5 selected 2 2 MB available Also included on the DMG are copies of the license and manual These are for your convenience DiffMerge uses copies that are inside the DiffMerge Application bundle A sample shell script is also provided to make it easier to use DiffMerge from the command line You may need to edit it to set the DiffMerge Application bundle pathname to match where you installed DiffMerge To uninstall simply drag the DiffMerge Application bundle to the trash Chapter 3 File Diff Merge Windows File Window Types There are two types of file windows File Diff Windows and File Merge Windows File Diff Windows The first is a two way view showing the differences between two files or two versions of the same file You can use this window to see the changes side by side And you can edit the file on the right either interactively as you would with a normal editor or by applying patches changes
13. from the version on the left You can use this window for example when looking at the revision history of a file to see the changes between two revisions D AboutBox cpp SourceGear DiffMerge _ Ox Edit View Tools Help GEE 15 09 522 C examples ancestor AboutBox cpp C examples branch_1 AboutBox cpp a Changed again hello AboutBox cpp code for the about hi Changes 6 Reference View Files as Loaded Edit View File as Edited Ruleset C C UTF 8 File Merge Windows The second is a three way window that shows the differences between three files typically this is a common ancestor in the middle and two branches that have independently evolved on the left and right You can use this window to see the changes side by side by side You can edit the center file and merge in changes from both branches creating a common unified version File Diff Merge Windows bl AboutBox cpp SourceGear DiffMerge pi 3 Edit View Tools Help uumEmMxogwemmRRAS C examples branch_1 AboutBox cpp C examples ancestor AboutBox cpp C examples branch_2 AboutBox cp Nill m changed again hello 4 AboutBox cpn code fi AboutBox cpn f AboutBox cpn gt Changes 7 Confli Reference View Files as Loaded Edit View Merge Result Ruleset C C C UTF 8 Opening File Windows You can open a File Diff Window by selecting File Open Diff Window from the menu This raises the Selec
14. immediately Configurable Rulesets and options provide for customized appearance and behavior International DiffMerge is a UNICODE based application and can import files in a wide range of character encodings Cross platform Identical feature set on Windows Mac OS X and Linux Introduction Screen Shots On Windows bl AboutBox Marker cpp SourceGear DiffMerge jalea EA SS EMEA 9 e n 32 C examples branch_1 AboutBox_Marker cpp ia ee FF P P ee CF Cg Bg TEET C examples ancestor AboutBox_Marker cpp ee g J I NM Gg II Pg CB G S INK Kg yg KFIYI define FIX 0 fdefine VAR 1 20 HH HR HH ALATA HH HH HA 2 BEGIN EVENT TABLE AboutBox wxDia 23 gt EVI BUTTON ID BUTTON SUPPORT 24 END EVENT TABLE 7 06 re AAA AAA AAA AAA AAA AAA AAA AAA LS 1 BEGIN EVENT TABLE AboutBox wxDia 5 EVI BUITON ID BUTTON SUPPORT 18 END EVENT TABLE 2Q LIEL ELLE SALES AE ESE AEREA lj fdefine M 7 3 fdefine FIX 0 4 fFdefine VAR 1 e6 FI Pg AAA AAA AAA AAA AA AAA EE 2 AboutBox AboutBox qui frame p gt WEDialog pFrame 1 VWER ABO Edit View File as Edited Ruleset C C 150 8859 1 On Mac OS X Introduction BEGIN EVENT TABLE AboutBox wxDialog E EVI BUTTON ID BUTTON SUPPORT ED EVENT TABLE BE ELE Pg gBg RM P Pg B P PP EEE EEE AboutBox AbnutBox qgui frame pErame E wxDialng pErame 1 VER ABOUTBOX TITLE
15. preview in all three display modes Offers two views of files when editing the currently edited version and a reference view of the files as originally loaded e Supports Display Invisibles feature to show whitespace and end of line EOL characters 86 Release Notes e Supports Manual Alignment Markers feature allowing vertical alignment of files to be overridden e Supports configurable Rulesets feature allowing many program behaviors to be controlled based upon file type suffix Allows more advanced character encoding handling of files by file type e Supports automatic detection of Unicode files e Supports automatic fall back to named character encoding Allows interactive character encoding selection on a per file basis e Supports all EOL conventions and can ingore or respect them based upon file type e Supports case folding when matching lines e Supports ignoring whitespace when matching lines e Supports advance context handling e Allows definition of Comment Literal and Regular Contexts based upon file syntax e Allows changes within each type of context to be defined as Important or Unimportant and treated differently for example changes in case or whitespace within comments can be marked Unimportant and handled differently than changes within string literals Allows Unimportant Changes to be highlighted not highlighted or hidden e Supports omitting ignoring lines matching specified
16. should turn this option off for the Default Context because whitespace is not significant within code In languages like Python you should turn it on for the Default Context because leading whitespace is significant in Python Treat TABs as Whitespace This option determines whether TABs are equivalent to SPACES Generally this option should be turned on for most languages The Context Dialog The Define New Edit Context Dialog lets you define the boundaries of a Context A Context is a mechanism for identifying portions of a document that should be specially handled such as a string literal or comment 64 Rulesets Edit Context Context Boundaries Start Pattern uM Escape Character E End Pattern Ends at EOL Context Guidelines Classify Differences as Important Cancel A Context is defined as a Start Pattern and an optional End Pattern Patterns must be valid Regular Expressions The End Pattern may be omitted if Ends at EOL is checked Set the Escape Character if the context has a special character such as a backslash to prevent premature matching of the End Pattern or EOL The text that matches the Start Pattern 1s not considered part of the matched context only the text following 1t and including the text matching the End Pattern See the Default Context Guidelines for an explanation of the Context Guideline fields on this dialog Equivalence Mode The Equivalence Mode Page of the New Ed
17. sourcegear com diffmerge index html It is available as a FREE http www sourcegear com diffmerge downloads html stand alone utility application It is also bundled with SourceGear Vault 4 0 2 http www sourcegear com vault index html and SourceGear Fortress 1 0 2 http www sourcegear com fortress index html Improvements 1 Added Alt arrowkey keybindings By popular request added various WinMerge http winmerge org inspired keybindings On Windows and Linux these include e Alt Down and Alt Up to jump to the next and previous changes These are in addition to the F7 and Shift F7 keys already defined e Alt Left and A1t Right to apply the highlighted patch to the file being edited and automatically advance to next change if Automatically Advance enabled in the options dialog These were previously only available via the right mouse context menu and the toolbar e Ctrl Alt Left and Ctr1 Alt Right to apply the highlighted patch to the file being edited and advance to the next change On Mac OS X these were bound to Ctr1 0ption Down Ctrl Option Up Ctrl Option Left and Ctrl Option Right 2 Improved initial window placement size Also by popular request fixed improved the initial placement size of new windows both between sessions and as additional windows are created This includes remembering the maximized state cascading subsequent windows and better placement when multiple monitors are present 3
18. vary depending on the type of the change or conflict which panel you click on and whether you have a File Diff or File Merge window All context menu patching commands are variations of one of the following verbs Insert This option inserts content from the source panel into the Void in the editable panel Replace This option replaces the content in the editable panel with the content from the source panel Delete This option deletes the content in the editable panel Prepend This option inserts the source content before the existing content in the editable panel Append This option inserts the source content after the existing content in the editable panel The Default Action Most of the time the first item in the context menu will be labeled with default This is the Default Action 23 File Diff Merge Windows To apply the default action you can shift right click on the change or use one of the e em Apply Change commands For conflicts there may not be a default action Merge to Center Panel Auto Merge gt The Merge to Center Panel command automatically applies the Default m Action 23 for all of the non conflicting changes in a File Merge Window The goal of Auto Merge is to automatically take care of the easy changes so that you can focus on the conflicts The complete auto merge is performed as a batch in 1 transaction and may be undone using the Undo command After the Auto Merge command complet
19. E y finclude cConfigPch finclude ConfigPch finclude ConfigPch finclude cConfigDcl finclude ConfigDcl finclude ConfigDcl Manual Alignment Markers You can add Manual Alignment Markers to force the alignment of a set of lines in the difference analysis Markers are drawn as a pair of dashed lines between two lines of text For example in the following example a block of text has been moved DiffMerge chose to match up the BEGIN EVENT TABLE block and treat the define block as a delete and an insert 18 File Diff Merge Windows Fi include lt qui h gt 12 finclude lt qui h gt Lal F NF Cg C T C B gy IG GC III Bg Pg I fdefine M 7 fdefine FIX 0 define VAR 1 e Loi Lo EOL ee er i od J J J Jt i J J J J J J J BEGIN EVENT TABLE AboutBox wxDia 16 BEGIN EVENT TABLE AboutBox wxDia EVI BUTTON ID BUTTON SUPPORT EVI SUTTON ID BUTTON SUPPORT END EVENT TABLE 18 END EVENT TABLE 20 ff of fff Sof yy yl ll PP EP SEP EP SESE define M 7 23 define FIX O define VAR i DCC eer er er ere rere sere sere lg lg li AboutBox AboutBox gui frame pl 8 AboutBox AboutBox qui frame p weDialog pFrame 1 VER ABOI 29 WEDialog pFrame 1 WER ABO If you want to force the define blocks to line up you could insert a marker as shown here Insert Alignment Marker Line Numbers 16 Current Alignment Markers Line 16 Line 22 This causes the other bl
20. File Diff Window and see how the files have changed The Folder Diff Window is a recursive listing it examines all files contained within the given root folders and all sub folders regardless of how deeply the folders are nested Producing a listing in a large folder tree can take a significant amount of time There are various Show Hide commands to let you limit the clutter in the window and concentrate on the important items more easily Filtering options are available in the Options Dialog to filter out generated and other uninteresting files and sub folders Opening Folder Diff Windows You can open Folder Window by selecting File Open Folder Diff from the menu This raises the Select Folders to Compare Dialog and allows you to type or browse to the pathnames of the folders you wish to compare 241 The Folder Diff Window Select Folders to Compare Left Folder C examples branch_1 Right Folder C examples branch_2 If a Swap button is provided it will swap the left and right pathnames Note if the set of folders selected are already open in an existing window that window is raised rather than creating a new duplicate window Parts of a Folder Diff Window Here is an example of a Folder Diff Window Be ancestor branch_1 SourceGear DiffMerge File View Tools Help mm mud f LH i T Li E li e A s C examples ancestor BR BR AboutBox Con fli
21. ICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE OOOO O OOOO OOOO K E K K E E K E E K K K K K K K K K K KK K K wxWindows adopted the code out of Tcl 8 4 5 Portions of regc_locale c and re_syntax n were developed by Tcl developers other than Henry Spencer these files bear the Tcl copyright and license notice OO E KE E KE KE E KE KE E K KE E E KE E K KE E K E E EK E E EK E E EK E E K E E K E E K E E K E E K E E K E E K K K K K K K K K K K K K K This software is copyrighted by the Regents of the University of California Sun Microsystems Inc Scriptics Corporation ActiveState Corporation and other parties The following terms apply to all files associated with the software unless explicitly disclaimed in individual files The authors hereby grant permission to use copy modify distribute and license this software and its documentation for any purpose provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions No written agreement license or royalty fee is required for any of the authorized uses Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here provided tha
22. Reference View Files as Loaded 14 UE EE P EE HE P E AAA P C AAA AAN 16 BEGIN EVENT TABLE AboutBox wxDialng gt EVI _ BUTTON ID_ BUTTON SUPPORT AboutBE EHL EVENT IABLE HE AIRE RARA ARA R AAA RARA HH EE M E LN ea mu PENET C EU Da AboutBox AboutBox gui_frame pFrame wxDialnogd pErame 1 VER ABOUTBOX TITLE Ruleset C C C ISO 8858 1 Introduction On Ubuntu Linux ADOUtBOxX Marker cpp SourceGear bitiMerge File Edit View Tools Ea PF LP EERIE EEE LLL ALT PEE ET LLET 7 define FIx O 3 define VAR 1 PEED TTT pete pla ee EE BEGIN EVENT TABLEI AboutBox wxDialog 5 BEGIM EVENT TABLEI AboutBox wxDialog 5 EVT BUTTON ID BUTTON SUPPORT A 17 EVT BUTTOM ID BUTTON SUPPORT END EVENT TABLE amp 8 END EVENT TABLE 26 ELREDRIAIERA REED EEE RIIIE DERE IIA AE REREEDS 20 ALPE REL PALP EEE RIA AAA SAID TERESA IIVERES 2 zdefine M 7 3 define FIX 0 define VAR 1 ELMER ERRADA B gG S AboutBox AboutBox gui frame pFrame 28 AboutBox AboutBox gui frame pFrame wxDialog pFrame 1 VER ABOUTBOX TI 29 wxDialog pFrame 1 VER ABOUTBOX TI Reference View Files as Loaded Edit view File as Edited Ruleset C C ISO 8859 1 Changes 2 Introduction On Fedora Linux E AboutBox Marker cpp SourceGear DiffMerge Hle Edit View Tools Help ala Me H 3 a a Jexamples ancestor AboutBox Ma
23. S0 8859 3 Baltic old IS0 8859 4 Cyrillic ISO 8859 5 Arabic ISO 8859 6 Greek I50 8859 7 Hebrew 150 8859 8 Turkish I80 8859 9 Nordic I80 8859 10 Thai I80 8859 11 A LL lt RmXAA A EI OIUIRLOLLHLLLLL ILLICLELLOELLEGELLLSLL IELICTRIZOLSC ROL CLLLLLOLCICOLLLOLUCEEUCLE e File Previews AboutBox cpp AboutBox cpp AboutBox cpp WEBBER TI Finclude lt ConfigPch h gt Finclude ConfigDcl h Use System Default i Use this if you have files of this type in multiple encodings on your system but will only be comparing files that have the same encoding J Ask for Each File in Each Window DiffMerge will raise the Choose Character Encoding Dialog once and ask you to select an encoding FOR EACH FILE when the File Diff or Merge Window is created Use this if you have files of this type in multiple encodings on your system and need to do arbitrary comparisons This gives you maximum flexibility and lets you select an encoding on a file by file basis a Use Named Character Encoding Below DiffMerge will use the character encoding selected in the next field Use this if all of your files will have a fixed known encoding Named Encoding The Named Character Encoding field has a list of all character encoding converters on the system 58 Rulesets Named Character Encoding Western European 150 8859 1 v The Lines to Omit Page Everything on this page is option
24. SourceGear DiffMerge User Manual Version 3 3 0 SourceGear DiffMerge User Manual Version 3 3 0 The Release Notes for this and previous releases can be found near the end of this document This copy of DiffMerge is licensed to you under the terms listed in the License Agreement at the end of this document SourceGear is a registered trademark of SourceGear LLC SourceGear DiffMerge is a trademark of SourceGear LLC Copyright C 2003 2009 SourceGear LLC All rights reserved Table of Contents Source Gear Contact tonal asada da lts liada vi sI l AA TA E A A l SERO NOS T 2 OM WITIdON S taste T EA 2 One Mia OSX quocp enada 3 On b TRU e cto uci Str erare renee tree 4 On Tedorn Te TTL 5 De IS talla cnt rt at it 6 BA LION E MR MIR CK ER TR CO DN 6 Usina IRIS Cu e I mmm 6 Use the ZE ACN A E A 6 lini A m rn coat ate tone ATA eaters A A AN 7 Lotion EUR ROREM J ALO e iea E A E EA NR 7 Macittos ta m 8 S Pile Didi Mets WIN dOWS or ei act eras e tae ita dass 9 Pale Window Types oiseau ad daa cade 9 Ele DUE INM WS dali E oia trie Id 9 Pile Merse WINdOWS ns A 9 Openino Elle WIDdOWS usura tl al ri a TOT EU ood esu Lu dud 10 Parts ota le WIN dd 11 A A O eels aaa ic ctr dedo sc bote ierit 11 Tlie Glance Boat ire TT 12 Th VIEW SIGLO act citar tacit Teil eect ere ce A Un rcu a dida 13 Ruleset InGicaOr o A 13 Character Encodine Indica ds aia iia eii ade 13 TRE SDE E 14 Misco ME 15 Other Mom CoOPDmTla
25. Toolbar 29 Ln File Reload Edit Show Errors File Save As The Folder Diff Window Force a rescan the folders This 1s useful 1f you have automatic reloading turned off in the Options Dialog Show Hide items that had a file system error of some type Double click on an error row to see the error message This will export the contents of the Folder Window to a file The various Show Hide options are respected so that the output only contains the rows that are currently being displayed Currently the output is written as a UTF 8 CSV file 30 Chapter 5 The Options Dialog The Options Dialog allows you to fine tune DiffMerge to better suit your needs All of the various settings are grouped by category into a series of Pages whose titles are listed on the left side of the dialog You can click on these titles to visit each of the various Pages Each Page is somewhat self contained and has a Restore Defaults at the bottom This button will restore all of the fields on that Page to their original factory defaults The Options Dialog can be accessed using Tools Options on Windows and Linux and DiffMerge Preferences on Mac OS X The File Windows Page The File Windows Page contains basic settings for File Diff and Merge Windows It lets you to select the font used in File Panels on screen and when printed It also contains a series of miscellaneous settings explained below DiffMerge Options la File Windo
26. Wizard will allow you to change the way SourceGear DiffMerge features are installed on your computer or even to remove SourceGear DiffMerge from your computer Click Next to continue or Cancel to exit the Setup Wizard Cancel This will install the application in Program Files install the Windows Explorer Shell Integration Extension create menu items in the Start Menu and create a Desktop Shortcut To uninstall DiffMerge either click the MSI file again or use the Add Remove Programs Control Panel and follow the on screen instructions Using the ZIP Archive If for some reason you cannot use the MSI package or simply prefer to use the ZIP file you may simply unzip the ZIP file somewhere on your system Dif fMerge exe and the related files will all be in this directory You could even do this to a thumb drive and use DiffMerge on other systems Installation If you want you can later install the Windows Explorer Shell Integration Extension using the DiffMerge Options Dialog This 1s not recommended for thumb drive installations To uninstall DiffMerge after using the ZIP file simply delete the folder containing DiffMerge If you installed the Windows Explorer Shell Integration Extension uninstall it using the DiffMerge Options Dialog before deleting the DiffMerge folder Linux Ubuntu On Ubuntu Linux DiffMerge is distributed as a standard debian DEB package DiffMerge is a 32 bit Intel x86 application and runs on both 32 b
27. a line xamples ancestor AboutBox_TypesOfChanges_2 cpp ranch 1XAboutBox TypesOfChanges 2crlf cpp finclude cConfigPch h finclude lt ContigPch h gt an added line this is just a comm foo x an added line co include lt ConfigDcl h gt i lude lt ContfigDcl h gt finclude lt util h gt Ki lude lt util h gt finclude zrs h finclude zrs h Ffinclude lt fim h gt Finclude lt poi h gt finclude finclude ctfd h finclude finclude czqui h finclude Ffdefine define FI tdefine VE DiffMerge also lets you view the files panels one above another with horizontal splitters between them In this mode 1t may be a little difficult to see the line correspondence but you should be able to see the entire line in each file In this mode the order of the files is the same editing takes place in the bottom panel in a File Diff Window and the center panel in a File Merge Window 14 File Diff Merge Windows C examples ancestor AboutBox_TypesOfChanges_2 cpp finclude lt ConfigPch h gt lt ConfigDcl h lt util h gt rs h gt lt Tim h gt poi h C examples branch_i AboutBox_TypesOfChanges_2crif cpp an added line finclude foo s fans added line code comment finclude lt ConfigDcl h gt finclude cConfigPch h ri Finclu util h finclude lt util h gt Finclu lt rs h finclude lt rs h gt You may drag the splitter to change the relati
28. a separate page 2 or 3 pages across The page numbers are augmented with the letters a b and c to help you track the printed pages Vertically files are synchronized like they are on screen so that content lines up on each page For example when printing a File Merge Window you should be able to place pages 10a 10b and 10c side by side and have everything line up just like on the screen For your convenience DiffMerge can print the files sequentially 1a 2a Ib 2b or interleaved 1a Ib 2a 2b This is controlled in the Options Dialog Currently DiffMerge does not line wrap long lines Lines that do not fit across a single page are truncated If long lines are a problem try printing in landscape mode and or using a smaller font Printing Folder Windows You can also print the contents of Folder Diff Windows 73 dourceGear DiffMerge C Vexamplesancestor ze ze ze ze z z z z z z 2 zz be AboutBox cpp AboutBox CortlictAggregatior cpp ConrflictAggregation Smoothed cpp AboutBo enci cpp AboutBox IrtraLireSmoothirg cpp AboutBox PMarker cpp AboutBox Typez fChargez 3 cpp AboutBox Urimportant cpp lamit keywords h IntrziineMnde 2 cpp lderiXPreview IrtraLireMode 3 cpp zubto lderi Preview LineMode 2 txt zubta ideri Preview LireHMode 3 xt version h Printing Folder Comparison c examples branch 1 AboutBox cpp AboutBox CortlictAggregatior cpp AboutBox Conrflict ggreg
29. al The Lines to Omit Page of the New Edit Ruleset Dialog lets you describe lines that should be completely omitted from the difference analysis For example lines containing RCS revision or date keywords Edit Ruleset C C C Source Name Patterns for Lines to Omit Character Encodings Lines to Omit Each Line Matching Revision Line Handling Content Handling Equivalence Mode Cancel The list box presents a list of the patterns already defined You may create as many of these patterns as you want You can think of these as a series of grep v commands applied to the each file before DiffMerge compares them The Pattern Dialog The Add Edit Pattern Dialog 59 Rulesets Add New Pattern Pattern A Pattern must be a valid Regular Expression Each document source line will be compared against the pattern and when a match is found that line will be omitted from the Difference Analysis i iid Lines To Skip With each Pattern you may specify a Skip Factor This is the total number of lines counting the line that matched that should be omitted You might use this for example to omit a hard Page Break and an N line Page Header Margin A we Cancel Pattern Here you can enter a regular expression that will be used to search for lines to omit Pattern A Pattern must be a valid Regular Expression Each document source line will be comp
30. analysis adjustable for performance reasons A setting for this can be found on the Detail Level page of the Options dialog There is a large discussion on this feature in the DiffMerge manual Added External Tool feature DiffMerge can now be configured to invoke an external third party tool for various types of files based upon the file suffixes This allows you for example to select special tools for XML or Word documents You can then double click on a pair of files in a folder window and have the external tool launched to compare them For more details see the Diff Merge Manual Other Improvements Use the suffix of the result pathname in addition to the suffixes of the 3 input pathnames when searching for an ruleset This helps in the case when 3 temp files are used as input to a merge Use the suffix of the result pathname in additional to the suffixes of the 3 input pathnames when searching for an external tool This helps in the case when 3 temp files are used as input to a merge Added work around on Windows for Win32 TextOut limitations when drawing extremenly long 24096 character lines in the file drawing code Added alternate cut copy paste keyboard shortcuts for Windows and Linux versions We now support Ctrl Insert Shift Insert and Shift Delete Added code to Mac version to try to bring DiffMerge window to the foreground when we are launched from the command line 82 Release Notes e Added files a
31. ared against the pattern and when a match is found that line will be omitted from the Difference Analysis Page mea Blank Line For convenience there are buttons to the right to supply patterns for some commonly omitted items Lines to Skip This field indicates how many lines should be omitted with each match You might use this for example 1f you know that there are 2 lines of page headers after each page break Most of the time this field will be 1 Lines To Skip With each Pattern you may specify a Skip Factor This is the total number of lines counting the line that matched that should be omitted You might use this for example to omit a hard Page Break and an N line Page Header Margin f a 1 E L A The Line Handling Page The Line Handling Page of the New Edit Ruleset Dialog lets you control how DiffMerge treats End of Line EOL characters and if trivial differences are ignored when matching up lines in File Diff and Merge Windows 60 Rulesets Edit Ruleset C C C Source Name Line Termination Character Encodings Lines to Omit Line Handling Content Handling Line Matching Equivalence Mode Ignore Strip All Line Termination Characters Ignore Fold Case when Matching Lines Ignore Strip Whitespace when Matching Lines 42 Also Ignore Strip TABs when Matching Lines Cancel Note Unless you have specific needs everything on t
32. atior Smoothed cpp AboutBox IrtraLireSmoothirg cpp AboutBox HMarker cpp AboutBox Typez fChargez 3 cpp AboutBox Urimportart cpp lomiz keywords h lomit regex re mE an n LLIILEXDIE e CEP subfolderi Frevies r Irt raLirePode 3 CPP subio lderilPrevien LineMode 2 txt subtolderi Preview LireMode 3 xt 2 Identical 13 Different 5 Equivalent 1 Files Without Peers DiffMerge uses all of the current Show Hide settings and the same line icons and text coloring so the folder listing on paper should match the listing on screen The folder summary statistics are printed in the page footer 74 Chapter 9 Command Line Arguments DiffMerge allows a variety of different command lines formats These allow DiffMerge to launch with different types of initial windows and to be invoked by other applications Each usage is summarized in the following sections DiffMerge Command Flags Options have a long and short form and may either be prefixed by a ora depending upon your platform For example h help help h or help For options that require a value they must have a COLON EQUAL or SPACE separator character between the keyword and the value And the value should be quoted if it contains spaces or special characters For example caption Hello World Generally DiffMerge will exit with O status when there are no errors and a 3 status when there is a command line syntax error Opening an Empty Windo
33. c ct id 85 Ieclease 5 0 0 e Judie 2007 olo Oecd teaser dd Mea bles 86 A Resula EX Pression a SA A AA aM pU fat Post 89 B SoOurccGcar License ATIC MENT rita 91 SourceGear Contact Information Mailing Address SourceGear LLC 115 North Neil Street Suite 408 Champaign IL 61820 USA Sales Web https store sourcegear com sgstore Email sgstore O sourcegear com mailto sgstore sourcegear com Phone 1 217 356 0105 x399 weekdays 9am to 4pm Central United States time FAX 1 217 356 0135 Support Web http support sourcegear com Email support sourcegear com mailto support sourcegear com Phone 1 217 356 0105 x700 weekdays 9am to 4pm Central United States time vi Chapter 1 Introduction Welcome to SourceGear DiffMerge Summary DiffMerge is an application to visually compare and merge files and folders on Windows Mac OS X and Linux Diff Graphically shows the changes between two files Includes intra line highlighting and full support for editing Merge Graphically shows the changes between 3 files Allows automatic merging when safe to do so and full control over editing the resulting file Folder Diff Performs a side by side comparison of 2 folders showing which files are only present in one file or the other as well as file pairs which are identical equivalent or different e Windows Explorer Shell Integration Right click on any two files or folders in Windows Explorer to diff them
34. ctAggregation Smoothed cpp AboutBox encl cpp AboutBox eol cpp AboutBox Marker cpp 7 AboutBox Marker2 cpp AboutBox TypesOfChanges 2 cpp AboutBox TypesOfChanges 3 cpp AboutBox Unimportant cpp lomit regex re subfolderl1 Preview IntraLineMode 2 cpp A sub folderl Preview IntraLineMode 3 cpp y subfolderl Preview LineMode 2 txt y subfolderl Preview LineMode 3 txt version h C examples branch 11 AboutBox ConflictAggregation cpp AboutBox ConflictAggregation Smoo AboutBox encl cpp AboutBox eol cpp AboutBox Marker cpp AboutBox Marker2 cpp AboutBox TypesOfChanges 2 Cpp AboutBox TypesOfChanges 3 cpp AboutBox Unimportant cpp lomit regex re subfolderi Preview IntraLineMode subfolderl Preview IntraLineMode subfolderlXPreview LineMode 2 txt subfolderi Preview LineMode 3 txt 2 Identical 13 Different 2 Equivalent 1 Files Withot 28 The Folder Diff Window Folder Listing In the center of the window is a 2 column listing of the files and sub folders that are present in the 2 folders being compared This is a recursive listing all sub folders are completely expanded Lines are colored and an icon is attached to each line based upon the status of the files or sub folders on the line In the following example the files C examples ancestor subfolderl Preview_LineMode_3 txt and C examples branch_1 subfolderl Preview_LineMode_3 txt are different and the file version h only exists in the C e
35. cts remaining it only means that you looked at the files made whatever edits were necessary and saved your edits into the result file 1 MERGE ABORTED you gave up the merge by not saving your changes This means that you either never saved your edits into the result file or that you closed the window with unsaved edits possibly after a checkpoint save 2 FILE ERROR there were file errors problems that prevented the merge window from being shown 3 SYNTAX ERROR there were syntax errors with the command line arguments Showing Help Synopsis diffmerge help Show the DiffMerge Help Dialog and exit Exit Status Always exits with exit status OK 0 or SYNTAX ERROR 3 Diffing to a File Synopsis Flags diffmerge diff diffoutput unified 21e1 file2 Compare 2 files and write the differences to a file without opening a window DiffMerge will use the Ruleset settings and the file suffixes to try to automatically select a Ruleset if it cannot automatically pick one DiffMerge will fall back to the Default Ruleset DiffMerge will use the settings on the Character Encoding Lines to Omit and Line Handling Pages of the Ruleset Dialog Since the output will be reported in lines the Detail Level and the settings on the Content Handling Page of the Ruleset Dialog are not relevant And the value of the Hide Unimportant Differences setting will be ignored d diff pathname TI Command Line Argumen
36. e Page The Merge Page of the Add Edit External Tool Dialog lets you configure the tool to be used for File Merges 70 External Tools Edit External Tool WinMerge 3 Way File Merging e Enable External Tool for File Merging Fathname to External Tool Command Line Arguments for External Tool Insert Argument Placeholder Variables for The descriptions for most of these fields are identical to the descriptions on the previous page for File Diffs DiffMerge defines the following substitution tokens for File Merges SWORKING_LABELS The labels for the working left and other right files SOTHER_LABELS When DiffMerge is handing off the initial set of files received on the command line to an external tool the values for these tokens come from the titlel and title3 arguments given to DiffMerge Otherwise they default to the pathnames of the corresponding files SDEST_LABELS The label for the destination center file When DiffMerge is handing off the initial set of files received on the command line to an external tool the value for this token come from the title2 argument given to DiffMerge Otherwise it defaults to the pathname of the destination result or the common ancestor baseline file SWORKING PATH The pathnames of the working left and other right files SOTHER PATHS SBASELINE PATHS The pathname of the baseline center file This is the common ance
37. e active window Files Changed on Disk The following file s have been changed by another application C examples branch_1 AboutBox cpp Would you like to reload e Print Files Interleaved 1a 1b 1c 2a 2b When printing File Diff and Merge Windows DiffMerge actually prints 2 or 3 files simultaneously When this option is checked DiffMerge prints all the page Is first then all the page 2s and so on When this option is off DiffMerge prints all of the pages from the left file then all of the pages from the center file and then all of the pages from the right file Require Final EOL when Saving Files When this option is enabled DiffMerge adds the appropriate end of line character s 1f necessary to the end of the final line of the file before saving 32 The Options Dialog e Enable Auto Save Edit Interval 100 4 When Auto Save is enabled DiffMerge periodically saves the edited file in a special Temporary Auto Save File In the event of a program or system crash you can recover your work from this temporary file Auto Save does not modify the original file The Edit Interval determines the frequency of the auto saves This is an edit count For example if the Edit Interval is set to 100 then the Auto Save File is rewritten after every 100 changes 42 Automatically Advance to Next Change after Apply Change Command When this option is enabled DiffMerge automatically advances to and highligh
38. e aseo bte t Loa 67 The Name Pase iS aN enact Me Recess vet a MaMa o Mp ote 67 The Dt PI ts ad 68 The Merse Base RR UU T UMEN 70 D PEDIDOS aree dites up metes cma te eee esce mit tee ced im iterom o aa ales 12 1v SourceGear DiffMerge Printing Pile WIDOOWS sic oa 12 Pantin Polder WindOw Se seis dais 73 9 Command Pine JATFOUuTlle BlS 2 ae wees Das b Pa eral exta ue aed A a weer Mock uM eco ad 75 Openin can EMIpty WIBdOW utecuiietiet eiua indu bi fuat ts 75 SO E ALO eroa Eu A T T O 75 R A E 75 Openine a DIE WNdOw do contesti et SA SA ost ule cdd 75 SO O EE SONO E E A UU T MI TO Ig MR O O AO 75 EXIST r T E E EE O O AO 76 Opening a Merse Window si a A A R 76 O RR Nc 76 IJ ARDT TN 76 EXE SUAS e peau M scc e JA Savio Ha at A del SVTIODSIS I tan orit hada ants Rada et ale sehen emot ossis e o olt quie alte FE lm eder Me L TH Din 30 QUUD TIC o oscar iiec coment a Dom uu a Sud Ad SYNOPSIS otc ones cel eti teal erate Manns poa tuisse anata Marea v I A TEPEE o eat cette estis kia Daphne ca RO ester tata E caa eoutd b Roe loaded ad le dier ars 78 10 Integration with Third Party Software 1 A a So OE S TOURS C EA DUE 79 Microsol MES a A AAA E RE 79 TOMOS MIN ce 79 UT Release NON S T 81 Release 2 90 c ort 2000 adds 81 Release 3 20 May 2008 NS A Mines ea alin arch ru 82 Reledse 3 1 0 OCtODet 200 Ts 83 Release 002 July 2D0 Taste dae Martes bb tm
39. earch in Panel Parameters C Left Ignore Case 2 Right Search using Regular Expressions Wrap Around Close When searching with Regular Expressions backward searching 1s disabled Find Next Find Previous The Find Next and Find Previous commands in the Edit menu repeat the last search performed by the Find Dialog The Go To Line Dialog The Go To Line Dialog is accessed from Edit menu It enables you to jump to a specific line in the file Go To Line Go To Line Line Number E 8 Center Right 25 File Diff Merge Windows Next Previous Change The Next Change and Previous Change commands enable you to quickly jump 3 T between changes in the files Next Previous Conflict The Next Conflict and Previous Conflict commands are only available in File Merge 1 Windows They enable you to quickly jumpt to the next previous conflict in the files Using the Glance Bar The Glance Bar can be used to find changes and scroll the file panels to a specific line C exampl or change a Simply move the mouse over the Glance Bar and click The corresponding line numbers are displayed in the status bar as you move the mouse Reference Vie Lines 22 16 26 Chapter 4 The Folder Diff Window The Folder Diff Window enables you to compare two folders and quickly see all of the differences between them It shows you which files and folders are present in both or only present in one
40. egular Expressions DiffMerge performs various searches and pattern matches using the RegEx regular expression library from Henry Spencer DiffMerge uses the Advanced Regular Expressions that 1t defines The library implements POSIX regular expressions and also supports Unicode and some Perl5 extensions OOOO OOO O OOOO EK E E K E E K E E K E K K E K K E E K E E K K K K K K K K K K KK K K Copyright c 1998 1999 Henry Spencer All rights reserved Development of this software was funded in part by Cray Research Inc UUNET Communications Services Inc Sun Microsystems Inc and Scriptics Corporation none of whom are responsible for the results The author thanks all of them Redistribution and use in source and binary forms with or without modification are permitted for any purpose provided that redistributions in source form retain this entire copyright notice and indicate the origin and nature of any modifications I d appreciate being given credit for this package in the documentation of software which uses it but that is not a requirement THIS SOFTWARE IS PROVIDED AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL HENRY SPENCER BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERV
41. enti IMPORTANT Hon Matching important Matching chanimportant Matching chant UNIMPORTANT Non Matc unimportant Matching unimportant Matching identical line identical line identical line conflict AAAA aaaa conflict BBBB bbbb conflict CCCC cece IMPORTANT Non Matching important Matching chanimportant Matching chan UNIM ORTANT Non Matc unimportant Matching unimportant t Matching Restore Defaults The overall line colors from the Line Colors Page are shown for reference in the first and last columns The buttons in the Foreground Unimportant column enable you to change the de emphasized foreground colors which are used when an intra line change is marked as unimportant such as text within a comment The buttons in the Intra line Background column enable you to change the background colors of the intra line highlight The Restore Defaults button restores all the fields on this and only this page to their original factory settings The Other Colors Page The Other Colors Page lets you to set the various colors used to draw miscellaneous items in File Diff and Merge Windows 41 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Line Colors Intra Line Colors Other Colors B Folder Windows Folder Filters Folder Colors Equivalence Mode EOLs Omitted Messages from Analysis Explorer
42. er Integration is enabled DiffMerge will when appropriate add a pop up context menu to the Windows Explorer context menu When 1 Item is Selected When 1 file of folder is selected the context menu will look something like this C examples branch_1 File Edit View Favorites Tools Help Gp Back gt d yo Search Folders lay x x M ru Address C examples branch_1 2 k 5 subfolder 5 subfolder A ae 4 AboutBox c Open cAboutBox_ci Edit c AboutBox_er I c AboutBox ec Bier mmm Open with DiffMerge cAboutBox ed c AboutBox_In Send To Remember File cAboutBox M Clear File List 6 AboutBox_M Cut i eAboutBox T Copy Compare AboutBox cpp with cAboutBox Ti m CAboutBox Uj Create Shortcut lomit regex n Delete Rename thed cpp 1 C examples ancestor AboutBox_Marker cpp 2 C examples ancestor AboutBox cpp Properties DiffMerge shows the long version of the context menu You can launch DiffMerge with the single item and interactively fill in the other file or folder remember the item s pathname in the list or compare the item with something from the remembered list DiffMerge allows you to remember 5 file pathnames and 5 folder pathnames for use in future comparisons 51 The Options Dialog When you compare with something from the list DiffMerge will put the older file folder in the left panel you may override this using the S
43. eral to or EOL Escape character 1 The list box shows all of the defined context patterns The Add and Edit buttons will let you create a new pattern or modify an existing one using the Context Dialog Default Context Guidelines The following fields let you control how DiffMerge will mark changes that are found within this context This discussion applies to the Default Context as well as Matched Contexts that are defined using the Context Dialog Default Context Guidelines Classify Differences as Important Always Highlight This option lets you declare that the overall context is either important or unimportant If it is important you can refine the context further to make commonly ignored things unimportant 63 Rulesets Generally this should always be checked This option is only enabled if you elected to keep EOL characters in the analysis not Ignore Strip EOLs on the Line Handling Page This option will mark changes as Important Unimportant that are caused by inconsistencies in the EOL characters within a file we Case is Important This option will mark changes in letter case as Important Unimportant Generally this option should be turned on unless you are in a case insensitive language like VB whitespace is Important This option will mark changes in whitespace as Important Unimportant this can mean SPACES only or SPACES and TABS depending on the next field In languages like C C you
44. es the Auto Merge Results dialog displays a report on what changes were made from where they came and finally a notification about what conflicts could not be merged Auto Merge Results Auto Merge Performed the Following Actions Changes Deleted from Center E Inserted from Left 2 Replaced Center with Left 2 Inserted from Right 1 Replaced Center with Right 1 There were 4 conflicts that could not be automatically merged These must be manually resolved Note It is strongly recommended that if you wish to use Auto Merge you use it BEFORE making any other edits in the window This prevents Auto Merge from possibly reverting some of your edits Also after Auto Merge has been applied to a window it is disabled This is to prevent Auto Merge from being used twice and possibly reverting some edits made by the first Auto Merge Undo Redo DiffMerge features an unlimited Undo Redo so that it is possible to undo changes all the way back to the initial state Moving Around within Files DiffMerge offers a number of ways to move around within files 24 File Diff Merge Windows The Find Dialog The Find Dialog is accessed from Edit menu It can be used to search forward or backward for text within the files Check boxes and radio buttons enable you to ignore case search using Regular Expressions and choose which file panel you wish to search in Find Text Find String helo Find Previous Find Next S
45. esets Overview Rulesets allow you to fine tune DiffMerge to handle different types of files This includes things such as character encodings end of line conventions and whitespace handling DiffMerge uses the Ruleset settings and the list of Rulesets defined in the Options Dialog to control how a set of files are loaded from disk and compared in a File Diff or Merge Window DiffMerge includes a Default Ruleset and a list of Custom Rulesets The Default Ruleset is used when the use of Custom Rulesets is disabled or when none of the Custom Rulesets is appropriate The Ruleset Dialog The New Edit Ruleset Dialog lets you create or modify the settings within a Ruleset You can edit both the Default Ruleset and individual Custom Rulesets All of the various Ruleset settings are grouped by category into a series of Pages whose titles are listed on the left side of the dialog You can click on these titles to visit each of the various Pages The Name Page The Name Page of the New Edit Ruleset Dialog Edit Ruleset C C C Source Name Ruleset Name Character Encodings Lines to Omit C C c C Source Line Handling Content Handling Equivalence Mode File Suffixes c cpp cs h Cancel This Page does not appear when you are editing the Default Ruleset it is only present for Custom Rulesets Ruleset Name This is a human readable name for the Ruleset This name is for information only
46. ges in the files The bar is a scaled representation of the files 12 File Diff Merge Windows e Colored lines blocks are drawn to indicate changes in the files the coloring and the shape blocks reflect the color and shape of the actual changes e Black bars are drawn on the sides of the glance bar to show the current scroll position of the files As the mouse moves over the Glance Bar the corresponding line numbers from the files are shown in the Status Bar A star is used when the corresponding line is a Void You may click on the glance bar to scroll the file panels to that position The View Selector The View Selector enables you to select between the Reference View and the Edit View Reference View Files as Loaded Edit View File as Edited The Reference View is a static view of the changes in the files as originally read from disk In this view the files are considered read only You may scroll around and view the differences and you may copy things to the clipboard but you cannot modify the files This mode can be useful in various situations such as when you want to see the changes between two historical versions of a file The Edit View is an interactive editor and live difference viewer It enables you to make changes to the center panel in a File Merge Window and the right panel in a File Diff Window As you edit your changes are highlighted the files are re compared in real time and their change
47. h Must Match All Files External Tools ze Folder Windows WinMerge Folder Filters Folder Colors Equivalence Mode Messages Explorer Integration External Tools Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings This will also delete all of your External Tool configurations Overall Configuration Enable External Tools This option turns of off the entire External Tools feature Ignore Case When Matching File Suffixes Ignores filename case when matching file suffixes Require Complete Match Must Match All Files Indicates if the suffixes for all of the files in the set must match or if only one needs to match 53 The Options Dialog You probably don t want this turned on Temp files often get a system defined temp name rather than the proper suffix Turning this off allows you to ignore the temp file suffix when it is being compared against a properly named file in your workspace WinMerge aai The list box contains all of the currently configured External Tools By default no External Tools are configured The Add Delete Clone buttons let you create delete tool configurations The MoveUp MoveDown buttons let you re order them You can double click an item or click the Edit button to edit or view a configured tool See the chapter on External Tools for more information 54 Chapter 6 Rul
48. hange 16 commands to jump between changes identical line identical line identical line non matching line identical line identical line identical line atching line watching line identical line identical line identical line hon mat a matching dins 777777 identical Replace with This default identical line conflict Prepend This Conflict Line identical identical line Append This Aggregating Changes As a precaution adjacent or overlapping changes are aggregated into a single change Usually this produces a conflict depending on the individual types of changes in the grouping When you re merging multiple files these usually require your attention because DiffMerge cannot automatically determine what to do with them For example in the figure below Line 1 was added to both branches in the left and right panels and Line 2 was deleted from the right panel So what should the merge result look like AboutBox cpp AboutBox cpp f AboutBox cpp F PART ae ET ET ET DT T ET T E a a a T T T T ee i fy Pop EEE a rg m Line 2 finclude cConfigPch finclude ConfigPch finclude ConfigPch finclude cConfigDcl finclude ConfigDcl finclude ConfigDcl To access an individual line change within a block of changes hold down the Control key while using the left or right mouse buttons to select the desired line AboutBox cpp AboutBox cpp AboutBox cpp hi E E E i E E E i te E E Fi Fi Fi E E
49. he Restore Defaults button restores all the fields on this and only this page to their original factory settings This will also delete all of your Rulesets and restore the original set of Rulesets that were originally shipped with the program Default Ruleset The Default Ruleset is a built in Ruleset that is applied to a File Diff or Merge Window when no Custom Ruleset is appropriate or when Custom Rulesets are disabled Default Ruleset The Default Ruleset is used when no Custom Ruleset matches The Default Ruleset cannot be deleted but you can edit it Custom Rulesets The Custom Rulesets box contains a collection of overall settings 34 The Options Dialog Custom Rulesets Enable Custom Rulesets This option turns on Custom Rulesets When disabled the Default Ruleset is used for all File Windows Automatically Match Suffixes Instead of Asking Me This option lets DiffMerge try to automatically select the proper Custom Ruleset using the suffixes of the files and the list of suffixes in each Custom Ruleset For example if you open foo cpp and bar cpp in a File Diff Window DiffMerge will automatically select the C C C Source Custom Ruleset If you open foo py and bar py DiffMerge will automatically select the Python Source Custom Ruleset If this option is disabled DiffMerge will ask you to select a Ruleset when each File Window is opened Ignore Case When Matching File Suffixes Ignores the case of the fi
50. he controlling the Analysis Detail Level This is a global setting and affects all File Diff and Merge Windows DiffMerge Options E File Windows Rulesets Analysis Detail Level Detail Level CO Lines Only 8 Lines and Character Line Colors Intra Line Colors Other Colors Folder Windows Disabled 8 Simple Complete Folder Filters Folder Colors Equivalence Mode Messages Intra line Smoothing Threshold 3 Explorer Integration External Tools Multi Line Intra Line Analysis Detail Level Smoothing Thresholds Inter line Smoothing Threshold 0 Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings Analysis Detail Level The Analysis Detail Level determines how the files are compared Analysis Detail Level CO Lines Only Lines and Character 36 The Options Dialog e In Lines Only mode DiffMerge compares the files line by line and does not perform any intra line highlighting analysis Tip This is the fastest mode Switch to it if you re working with large files and or having performance problems n Lines and Characters mode DiffMerge performs the line by line analysis and then performs intra line analysis within each of the changes Intra line analysis is performed over the body of each change and is governed by the following setting Multi Line Intra Line Analysis Detail Level
51. he glance bar no longer shows a block for the change The whitespace before sz is no longer highlighted The Change Stats shows that there are 2 important changes and 1 unimportant change not being shown C examples ancestor AboutBox_Unimportant cpp ples branch_1 AboutBox_Unimportant cpp a include lt qui h gt include lt qui h gt static char sz HelloWorld static char zz Hello World This is a comment line 1 This is a comment line 72 This is a CHANGELDL comment line 1 D comment line 2 Static int foo YOUE CONSTANT Ss A Changes 2 Imp 1 Unimp If we set the Display Mode to Show Differences Only we see only the 3 changes with Gaps between them C examples ancestor AboutBox_Unimportant cpp ples branch_1 AboutBox_Unimportant cpp static char ssz HelloWorld This is a comment line 1 This is a comment line 2 Btatic int foao YOUR CONSTANT Static char sz Hello World f This is a CHANGED comment line 1 This is a CHANHGED comment line 2 static int foo MY CONSTANT gt Changes 3 If we now turn on View Hide Unimportant Differences the unimportant changes are not drawn at all Again the Change Stats indicates that 1 unimportant change is being hidden C examples ancestor AboutBox_Unimportant cpp ples branch_1 AboutBox_Unimportant cpp static char sz HelloWorld static char sz
52. hin a source code comment are not as important as changes in the code itself or in a string literal Furthermore whitespace changes in C source code are not as important as whitespace changes within a string literal When the Detail Level is set to Lines and Characters DiffMerge classifies all changes as either important or unimportant using the information in the Ruleset Normally DiffMerge draws these unimportant changes in a dimmer color In the following example compare the coloring of the CHANGED and YOUR MY changes in the file panel and in the glance bar Also the Change Stats shows that there are 3 changes 21 File Diff Merge Windows C examples ancestor AboutBox_Unimportant cpp ples branch_1 AboutBox_Unimportant cpp a finclude lt qui h gt finclude lt qui h gt static char sz HelloWorld SBtatic char sz Hello World This is a comment line 1 This is a comment line 2 This is a CHANGEDL comment line 1 This is a CHANGEL comment line 2 Static int foo YOUE CONSTANT Static int foo HMY CONSTANT gt Changes 3 When the Display Mode is set to Show All the View Hide Unimportant Differences command causes DiffMerge to draw them as if they were identical and with a slightly dimmer color for intra line character changes In the following example the 2 comment lines are no longer highlighted And the word CHANGED is dimmed slightly T
53. his Page should always be enabled Line Termination Different platforms use different line termination characters Such differences can cause two otherwise identical files to look like completely different files Overall Line Termination Handling Ignore Strip All Line Termination Characters e When enabled DiffMerge treats all CR LF and CRLF characters as a generic end of line EOL marker and excludes them from the line Line termination differences are not detected or indicated in any way This lets you compare files from different platforms with different EOL conventions When enabled EOL characters are grayed out to indicate that they are being ignored AboutBox cpp AboutBox cpn if f if f f f i A if f if include lt ConfigPch h gt include lt ConfigPch h gt include lt ConfigDcl h gt include lt ConfigDcl h gt finclude lt util h gt finclude lt util h gt e When disabled the original CR LF and CRLF characters are preserved and used in the analysis The EOL characters are treated as part of the line So 2 otherwise identical files with different EOL characters will appear to be 2 completely different files with 1 change spanning the whole file When disabled EOL characters are not grayed out they are part of the line and drawn just like other characters on the line 61 Rulesets Er About Box cpp FRPP EP AE DA RAEE RR E REEL REEL REEL EZ T AboutBox c
54. identical line identical line matching line identical line non matching line identical line conflict line identical line matching line identical line matching line identical line CONFLICT LINE identical line identical line identical line matching line identical line Conflict Line identical line identical line Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings The Intra Line Colors Page The Intra Line Colors Page lets you set the various colors used to draw intra line changes on top of the line base colors These colors are only used when the Detail Level 1s set to Lines and Characters 40 The Options Dialog DHTMerge Options E File Windows Rulesets Detail Level Line Colors Intra Line Colors Other Colors Identical Content amp Folder Windows within Changed Lines Folder Filters File Diff Windows Equivalence Mode Messages Matching Changes in L 3 Explorer Integration File Merge Windows External Tools Non Matching Changes L Intra Line Colors within Changed Lines Foreground Intra Line Overall Line Important Uni Background Background Conflicts File Diff Window Preview File Merge Window Preview E important identicHl A important identical A important identical b unimportant identiB unimportant identiB unimportant id
55. ified in this license OOO OOOO O OOOO OOOO E K E E EK E E K E E K E OO K K K K E K K K K K K 90 Appendix B SourceGear License Agreement IMPORTANT READ CAREFULLY This License Agreement Agreement is a legal agreement between you either an individual or a single entity and SourceGear LLC for SourceGear DiffMerge which includes computer software and online or electronic documentation and may include associated media and printed materials SOFTWARE PRODUCT or SOFTWARE By installing copying or otherwise using the SOFTWARE PRODUCT you agree to be bound by the terms of this Agreement If you do not agree to the terms of this Agreement do not install or use the SOFTWARE PRODUCT SOFTWARE PRODUCT LICENSE The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties as well as other intellectual property laws and treaties The SOFTWARE PRODUCT is licensed not sold 1 GRANT OF LICENSE This Agreement grants you certain limited non exclusive rights SourceGear LLC reserves all rights not expressly granted to you 2 COPYRIGHT All rights title and copyrights in and to the SOFTWARE PRODUCT including but not limited to any images photographs animations video audio music text and applets incorporated into the SOFTWARE PRODUCT and any copies of the SOFTWARE PRODUCT are owned by SourceGear LLC or its suppliers The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions
56. into an initially empty document e Added XML Ruleset to the set of builtin rulesets you may have to hit Restore Defaults on the Rulesets page before you see it but this will delete any custom rulesets that you have created Update the installation instructions in the manual to include information for the ZIP package version on Windows e Added an example shell script to show how to run DiffMerge from the command line on Mac OS X and updated manual This can be installed in usr bin or usr local bin if desired Thanks to Curtis Thompson for suggesting the need for this See http blog iffy us p 33 Added a standard MAN page to the Mac distribution See the Readme txt for more informatin e Set the EOL style to platform native when loading empty files Changed the meaning of platform native EOL style on Mac OS X to be LF rather than CR 84 Release Notes e Added filename and panel name to the Error dialog that informs you that the file could not be imported using the named character encoding We now warp the edit view in addition to the reference view to the first change when a window is created Fixed initial focus selection on Go To Dialog And changed how we select the text on the destination line so that the caret is at the beginning of the destination line Corrected case of nosplash option in manual Release 3 0 2 July 2007 This is the 3 0 2 maintenance release of SourceGear DiffMerge 3 0 http www
57. ion is used DiffMerge now exits with an exit status that reflects the state of the merge MERGE RESOLVED MERGE ABORTED ERROR etc 4 Added support for saving the contents of a Folder Window to a file This creates a UTF 8 CSV containing the rows currently displayed in the window respecting the various Show Hide toolbar buttons Other Improvements The Explorer Integration El feature was updated Windows Only e Support for EI on 64 bit XP and Vista DiffMerge is still a 32 bit application and runs on 32 and 64 bit systems However the EI DLL which hooks into Windows Explorer must be the same bit ness as the platform This release contains 2 versions of the DLL e Support for Vista and Windows 7 User Account Control UAC You can now register and unregister the DLL from the Options Dialog It will now prompty for elevation and perform the actual work in an elevated child process You no longer have to launch DiffMerge with elevation to do this e Enhanced the EI context menu When2 items are selected the context menu is changed to have Compare A with B and Compare B with A menu items to try to avoid the need for the SWAP button on the File Open Dialog Added a Clear Remembered List menu item e When 1 item is selected and you choose to compare the file with one from the remembered list DiffMerge checks the file date stamps and opens the File Open Dialog with the newest file on the right 81 Release Notes F
58. it 1386 and 64 bit x86 64 Intel systems This release was built upon Ubuntu 6 10 and should work on 6 10 and newer Ubuntu releases After downloading the most recent DEB file you can install DiffMerge on i386 systems using the following command sudo dpkg i diffmerge 3 3 0 1000 1ubuntu610 1386 deb On x86 64 systems use the following command sudo dpkg A diffmerge 3 3 0 1000 1ubuntu610 1386 deb force architecture This completely installs DiffMerge this includes an executable in usr bin diffmerge aman page and a menu item in the Ubuntu Application Programming menu To uninstall type the following sudo dpkg r diffmerge Fedora On Fedora Linux DiffMerge is distributed as a standard RPM package DiffMerge is a 32 bit Intel x86 application It has been tested on 32 bit 1386 systems It should work on 64 bit x86 64 systems but this has not been verified This release was built upon Fedora 7 and should work on 7 and newer Fedora releases After downloading the most recent RPM file you can install DiffMerge on 1386 systems using the following command sudo rpm install ditrunerge 35 9540 1000 1L 2135906 rpl This completely installs DiffMerge this includes an executable in usr bin diffmerge and a man page To uninstall type the following sudo rpm erase diffmerge Installation Macintosh DiffMerge is distributed for Apple Mac OS X as a standard Disk Image DMG file DiffMerge contains a
59. it Ruleset Dialog lets you control what differences are ignored in Folder Diff Windows when the Equivalence Mode is set to Ruleset based Edit Ruleset C C C Source Mame Character Encodings Lines to Omit e Ignore Strip All Line Termination Characters Line Handling Ignore Fold Case Content Handling Ignore Strip Whitespace Equivalence Mode c Iv Also Ignore Strip TABs Folder Window Equivalence Settings Cancel 65 Rulesets Note The settings on Equivalence Mode Page are very similar to the settings on the Line Handling Page The settings here are only used by Folder Windows the others are only used for File Windows 66 Chapter 7 External Tools Overview Whenever DiffMerge is asked to compare or merge a set of files and the External Tools feature is enabled DiffMerge can either open the files in a File Diff or Merge Window or it can hand them to an external application and let it process the files You can use this feature for example to let other applications handle binary files types such as word processor documents or XML files and then use a DiffMerge Folder Diff Window to compare 2 folders of documents using the built in Exact Match Only Equivalence Mode And when you double click on a pair of files the external application will be launched to actually show you the changes DiffMerge uses the suffixes of the files and searches the list of configured External Tools for a match The t
60. it is displayed in various places to help you identify the Ruleset 55 Rulesets Ruleset Name C C C Source File Suffixes This is a list of suffixes that should be assigned to this Ruleset Entries should be separated by spaces and should not contain dots File Suffixes ic cpp cs h If a Ruleset has a matching suffix for a particular file then that Ruleset might be used when the File Window is created The Character Encodings Page The Character Encodings Page of the New Edit Ruleset Dialog lets you specify the character encoding for files handled by this Ruleset Edit Ruleset C C C Source Hame Automatic Character Encoding Detection Character Encodings Lines to Omit Search for Unicode BOM Line Handling Content Handling Fallback Character Encoding Options Equivalence Mode m Use System Local Default Encoding Ask for Each Window Ask for Each File in Each Window 3 Use Named Character Encoding Below Named Character Encoding Western European 150 8859 1 Cancel DiffMerge uses this information to convert the files from their on disk encoding into UNICODE before comparing them This allows for example DiffMerge to compare the effective content of 2 files that were created with different encodings After the files are loaded DiffMerge displays the character encoding s of the files in the status bar Note If a file is loaded in multiple File Diff
61. its with exit status OK 0 or SYNTAX ERROR 3 Opening a Merge Window Synopsis diffmerge caption caption merge nosplash result result file ro2 shex tl titlel t2 title2 t3 title3 filei file2 file3 Open a File Merge Window with the 3 given files File will appear in the left panel and is traditionally set to your version of the file File2 will appear in the center panel and should be the common ancestor of the other 2 files File3 will appear in the right panel and is traditionally set to the repository version of the file If you do not specify ro2 file2 will be editable and you can apply patches to it from file or file3 Flags m merge Runs Auto Merge immediately after loading the files r result pathname Specifies a pathname for saving the merge result It omitted the merge result if saved will overwrite the center file This flag causes DiffMerge to return an exit status based upon the merge result in the window t3 title3 message Sets the File Panel Lable for the third file column The meanings of the other flags are described in the Flags for Opening a Diff Window 76 Command Line Arguments Exit Status When result is not used DiffMerge exits with exit status OK 0 or SYNTAX ERROR 3 as usual When result is used DiffMerge sets the exit status to reflect the state of the merge 0 MERGE RESOLVED you saved the merge result This does not mean that there are no confli
62. ixed the alignment of our icon in the EI context menu to match other installed extensions Updated the list of ignored file suffixes in the Folder Window to include lots of binary file types Major overhaul of the DiffMerge Manual Updated text to reflect the 3 3 0 release Converted text to DOCBOOK Updated all screenshots Added ADVANCED bit to wxRegEx objects created to parse regular expressions in various dialogs This allows the expressions you enter to use the advanced regex features without having to explicitly add the syntax Updated the More From SourceGear documents and the toolbar icon Release 3 2 0 May 2008 SourceGear DiffMerge 3 2 http sourcegear com diffmerge is available as a FREE http www sourcegear com diffmerge downloads html stand alone utility application New features introduced in 3 2 0 Added the ability to switch between vertical and horizontal panel layout in File Diff and File Merge windows Previously file panels in these windows were shown side by side with a vertical splitter between them You can now toggle between that mode and horizontal mode where panels are shown above and below This is useful when your files have long lines and you can t see the entire line without horizontally scrolling We now detect binary files files containing a NUL byte and give a warning and stop This keeps us from showing artifically truncated files in the windows Made the multi line intra line
63. lds lado LENU SU EAE 16 SHOWING anges uei ies o Eee qu Lid Comepiawet A ou PUEI 16 Detalla 16 HiehiteDtmie Cheese ad E Ion Tui es tatem ues 18 AS Ste cano SUCH RTT PT 18 Manual Alignment Markers tiara ood ule TA a MUR nad RR EQd 18 The Lane Display Mode A A 20 Omited Des scale ida E 2 Hide Opmmtiteud D 1B6s53 oed tl 21 Hiin Unimportant Dit rences usada idad ess 21 Pile Edo A EA AS AAA E EN 23 Interactive Edna int erat ir fresca rco tiufiedet dta Cen Puta Lato fretum taut 23 Pate lap D TL NR 23 Merge to Center Panel AW MEE sioe o ote isis 24 Undo RedO sss x ee EDIT ER USUS A A 24 Movin Around Within Piles tad iii Puis ide 24 The Ema Dilo aba 25 Find Next Find Pre VIOUS sita dad ata ida datan A 25 The GosTosLine Dilo lt a At 25 Next Previous C haliges dac rore at rete tiu diete das etait ii ri 26 Next Previous Contado aliadas 26 sine the Glance Dali ide cies osea ade eco 26 iii SourceGear DiffMerge A Phe Polder DIE io nai A as 27 Openins Folder itt WOIHOOWS iii E E A A E teduees 24 Parts or a Polder DIT WildOW iio A A RA A e ap d 28 leis Mui uM REO O RS O alan tact E Na dea seeneiaea 29 MG TODA ii 29 Other Menu COTmm dbdS dos 29 3 Lie Options ALO Satta ct ewes AE SA ia 31 The ile Windows Pases a ui 31 EOS a 32 Wandow OPUODS tai is 32 The Iulesets Page A NE IA A UE 33 Bermit Rules ts 34 Custom Iulesels ia ise 34 TeDe Beve EEA E e e o does 36
64. le suffixes when matching You probably want this turned on Require Complete Match Must Match All Files When the files in the set have different suffixes it s possible to take the first match or to require all of the files to match the same Ruleset You probably don t want this turned on Temp files often get a system defined temp name rather than the proper suffix Enabling one file to match enables you to ignore the temp file suffix when it s being compared against a properly named file in your workspace Ask Me When Nothing Matches Instead of Using Default When DiffMerge cannot find a suffix match it can either use the Default Ruleset or it can ask you to select one using the Choose Ruleset Dialog C C C Source Add Visual Basic Source Python Source Java Source Text Files UTF 8 Text Files XML Files The list box contains all of the currently defined Custom Rulesets DiffMerge ships with Rulesets predefined for C C C Source VB Source and several others This list is ordered DiffMerge searches for a match in the order listed here 35 The Options Dialog The Add Delete Clone buttons let you create destroy Rulesets The MoveUp MoveDown buttons let you re order them You can double click an item or click the Edit button to edit or view the Ruleset See the chapter on Rulesets for more information The Detail Level Page The Detail Level Page contains all of the parameters for t
65. merge Fixed various crashes on Mac OS X when comparing files or folders whose pathnames contained special characters 5 Added Batch Output Option Added the ability to use DiffMerge as a command line tool and produce traditional or Unified differences of two files to an output file rather than opening a window The output is compatible with GNU diff 1 and patch 1 6 Added Save As Feature Added File Save As feature to editable windows The editable file is written to the new pathname and the window titles are updated Changed behavior of result pathname to behave like Save As and re title windows whenever possible 7 Added Force Write Feature Added code to attempt after prompting to override the on disk file permissions when trying to write to a file that 1s read only 8 Added Backward Searching and Wrap Around to Find Dialog 9 Scrolling from Glance Window Clicking and dragging in the glance window on the left now cause the file windows to scroll previously we only scrolled the file windows on clicks Other Improvements Added section to manual giving information on integrating DiffMerge with Microsoft TFS and TortoiseSVN Replaced automatically generated Usage dialog with more readable one e Added support for uppercase command line switches these behave identically to lowercase ones e Fixed problem where an extra EOL character was being inserted into the edit document when applying a patch
66. mmand flags we define the command line arguments using a template containing place holder tokens When DiffMerge 69 External Tools 1s ready to launch the external application 1t will substitute pathnames and labels into the template and build the actual command line Command Line Arguments for External Tool fdl YLEFT_LABEL dr SoRIGHT_LABEL SoLEFT_PATH 0 SoRIGHT_PATH o Insert Argument Placeholder Variables for Pathnames Left Right Labels Left Right DiffMerge defines the following substitution tokens for File Diffs SLEFT_LABELS The labels for the left and right files In a DiffMerge File SRIGHT_LABELS Diff Window these labels are displayed above the panel other applications may display them differently or not use them at all When DiffMerge 1s handing off the initial set of files received on the command line to an external tool the values for these tokens come from the titlel and title2 arguments given to DiffMerge Otherwise they default to the pathnames of the corresponding files SLEFT PATH RIGHT PATH The pathnames of the corresponding files The Left and Right buttons are for your convenience and can be used to insert the corresponding token with quotes at the current insertion point into the text field Tip It is highly recommended that you enclose each token in quotes so that whitespace in the titles and or pathnames are properly received by the external application The Merg
67. n It is also bundled with SourceGear Vault 4 0 http www sourcegear com vault index html and SourceGear Fortress 1 0 http www sourcegear com fortress index html This is a new implementation of diff merge functionality and is based upon the wxWidgets http www wxWidgets org library This version replaces a previous Windows only implementation that was shipped with SourceGear Vault 3 5 This version recognizes the same command line arguments as the previous version and can be used with Vault 3 5 by simply installing the Windows stand alone version and changing the pathnames in the Program fields in the Diff Merge section of the Vault options dialog File Diff and Merge Window Features Graphically shows interline and intraline differences between two or three files Allows changes between files to be interactively applied using keyboard and mouse e Suports automatic three way merge when safe to do so of changes between two branched file versions into common ancestor version e Unlimited undo redo of all edits e Displays tabs as 2 4 or 8 spaces to save screen space e Supports extensize customization of colors used to display files and changes New file window features in this version not available in previous version e Supports full interactive editing of files in addition to applying patches Offers three display modes everything differences only and differences with context e Supports file printing and print
68. ning s blog http blogs msdn com jmanning articles 535573 aspx The arguments for comparing two files or two versions of a file should be tl 6 t2 7 1 2 With this command line original version 1 will be in the left panel and the modified version 2 will be in the right panel If you want to limit yourself to strictly viewing rather than editing the changes add ro2 to the beginning of the above command line The arugments for merging two versions of a file from a common ancestor should be m r 4 t1 7 t2 8 t3 6 c 9 2 3 o l With this command line your changes 902 will be in the left panel the common ancestor 963 will be in the center panel and their changes 1 will be in the right panel When you save your merge changes they will be written to the merge result 4 file TortoiseSVN Information on configuring an external diff merge tool can be found in http tortoisesvn net docs release TortoiseS VN en tsvn dug settings htmlzttsvn dug settings progs The arguments for comparing two files or two versions of a file should be 79 Integration with Third Party Software tl bname t2 Syname base mine With this command line original version Jobname will be in the left panel and the modified version Jomine will be in the right panel If you want to limit yourself to strictly viewing rather than editing the changes add ro2 to the begi
69. nning of the above command line The arugments for merging two versions of a file from a common ancestor should be m r smerged tl yname t2 bname t3 tname c mname mine base theirs With this command line your changes 9omine will be in the left panel the common ancestor 9obase will be in the center panel and their changes 9otheirs will be in the right panel When you save your merge changes they will be written to the merge result Vomerged file 80 Chapter 11 Release Notes Release 3 3 0 April 2009 SourceGear DiffMerge 3 3 http sourcegear com diffmerge is available as a FREE http www sourcegear com diffmerge downloads html stand alone utility application New features introduced in 3 3 0 1 Folder Window Equivalence Mode The Folder Window now has 3 different methods for compairing pairs of files e The original exact byte for byte method that marks files as identical or different A new Simple Equivlance method that can ignore whitespace and EOL characters and mark files as identical equivalent or different e A new Ruleset based Equivalence method that uses some of the Ruleset settings to mark files as identical equivalent or different A new button was added to the Folder Window toolbar to show hide equivalent files and a new page was added to the Options and Ruleset Dialogs to help you configure this 2 Added support for Fedora Linux 3 When the result opt
70. nt window This raises the Choose Ruleset Dialog Choose Ruleset Available Rulesets PAE Visual Basic Source Python Source Java Source Text Files UTF 8 Text Files XML Files Use Default Ruleset View Hide Unimportant Differences hides unimportant differences such as whitespace from the display View Hide Omitted Lines hides omitted content from the display View Manual Alignment Markers allows you to create edit and delete Manual Alignment Markers View Delete All Manual Alignment Markers allows you to delete all Manual Alignment Markers in the window Showing Changes Detail Level DiffMerge has two Detail Levels Lines Only and Lines and Characters 16 File Diff Merge Windows Lines Only In Lines Only mode DiffMerge only performs difference analysis line by line Changes are indicated based upon equality of the entire line Lines are colored without intra line highlighting For example in a File Diff Window identical line added line identical line changed line Identical line identical line line changed identical line identical line And in a File Merge Window identical line identical line identical line non matching line identical line atching line identical line non matching line identical line conflict line identical line Lines and Characters identical line tching line identical line tching line
71. ock of code to appear as a delete and an insert 19 File Diff Merge Windows finclude lt qui h gt 12 finclude lt qui h gt Ji oN AERAR A Des E Nt NES s s s s odis s e DE NE A 2 A rr r r F F F F F F F F F F F F Sg EPR E RER E R EE R E RER E RE EEES LEC ICAA AAA AAA AAA AAA EE EEES 8s B s s m define M 7 22 deffine M 7 define FIX 0 23 define FIX 0 define VAR 1 24 define VAR 1 e t F fi O ee ee ee d sw4 99 i EVENT TABLE AboutBox wxDia VI BUITON ID BUTTON SUPPORT VENT TABLE PEPE SST S37 SIF EA PEER SEF SET SIT EI PEPE Fi i i Es AboutBox AboutBox qui frame p wxDialocipFrame 1 VER ABO The Line Display Mode The Line Display Mode allows you to hide lines that are not currently of interest When lines are hidden a single line Gap is drawn The Line Display Mode can be set to one of the following View Show All This mode shows all lines in the files View Show Differences Only This mode shows only the changes in the files Identical lines are hidden For example fans added line this is 7ust a comm finclude foo an added line co Finclude lt fim h gt include lt poi h gt fdefine M 7 tdefine M 77777 fdefine FIX 0 f define FIX 00000 fdefine VAR 1 fdefine VAR 1 another comment View Show Differences with Context This mode shows changes with upto 3 lines of con
72. ools are searched in the order listed in the Options Dialog DiffMerge then tries to use the first matches If no tool matches DiffMerge creates a normal File Diff or Merge Window Launching an External Tool When DiffMerge gets a match for files given on the command line DiffMerge will invoke that tool directly and wait for it to exit before exiting DiffMerge will then exit with that tool s exit status If Messages are disabled DiffMerge will do this without even creating a DiffMerge window When DiffMerge gets a match for an interactive request DiffMerge just launches it as a peer application and does not wait for it to complete The External Tools Dialog The Add Edit External Tool Dialog lets you create or modify the settings for an External Tool For each External Tool that you configure you can decide if the tool is enabled for File Diffs File Merges or both You can select different executables and command line argument templates for each mode All of the various tool settings are grouped by category into a series of Pages whose titles are listed on the left side of the dialog You can click on these titles to visit each of the various Pages The Name Page The Name Page of the Add Edit External Tool Dialog 67 External Tools Edit External Tool WinMerge Name WinMerge File Suffixes bd Cancel Name This is a human readable name for the tool This name is for information only it is displa
73. or Merge Windows it will only be read from disk once Subsequent windows will share the in memory copy of the file Therefore when the file is loaded 56 Rulesets into the first window the character encoding settings for the Ruleset in that window will be used to convert the file into UNICODE When the file is referenced by a subsequent window no conversion is required so the encoding settings in the possibly different Ruleset in the second window will not be used for that file Automatic Detection When BOM Detection this is enabled DiffMerge looks for a UNICODE Byte Order Mark BOM when reading the files If a BOM is present DiffMerge assumes the indicated encoding If a BOM is not present DiffMerge uses the Fallback Options below Automatic Character Encoding Detection Search for Unicode BOM Fallback Options The Fallback Options are used when no BOM is present Fallback Character Encoding Options Use System Local Default Encoding DiffMerge assumes that files are encoding using the local system default character encoding Use this if all of your files use system default encoding Ask for Each Window DiffMerge will raise the Choose Character Encoding Dialog and ask you to select an encoding when the File Diff or Merge Window is created 57 Rulesets Choose Character Encoding Available Character Encodings Default encoding Western European IS0 8859 1 Central European I50 8859 2 Esperanto I
74. or the SOFTWARE PRODUCT The SOFTWARE PRODUCT and any related documentation are provided as is without warranty of any kind either express or implied including without limitation the implied warranties of merchantability or fitness for a particular purpose The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you LIMITATION OF LIABILITY SourceGear LLC entire liability and your exclusive remedy under this Agreement shall not exceed five dollars US 5 00 NO LIABILITY FOR CONSEQUENTIAL DAMAGES To the maximum extent permitted by applicable law in no event shall SourceGear LLC or its suppliers be liable for any damages whatsoever including without limitation damages for loss of business profit business interruption loss of business information or any other pecuniary loss arising out of the use of or inability to use this SourceGear LLC product even if SourceGear LLC has been advised of the possibility of such damages Because some states jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages the above limitation may not apply to you SourceGear is a registered trademark of SourceGear LLC SourceGear DiffMerge is a trademark of SourceGear LLC Copyright C 2003 2009 SourceGear LLC AII rights reserved 02
75. patterns such as page headers from the difference analysis these may be shown or hidden from the display e Supports Auto Save feature allowing files to be automatically saved periodically e Supports Inter line Smoothing and Intra line Smoothing features allowing groups of nearby changes separated only by a short equal section to be aggregated into a single change Displays vertically lined up changes within files using voids instead of using arrows in the gutter to identify the corresponding parts Detects when files on disk have changed and offers to reload them Folder Window Features Performs side by side comparison of two folders showing which files are only present in one folder or the other as well as file pairs which are identical or different Can hide identical file pairs and files without peers Recursively shows contents of sub folders without need for other windows e Supports file suffix and folder filters to eliminate generated files from analysis e Supports extensive customization of colors used to display folder contents e Supports clicking on file pair to open in file difference window e Supports clicking on sub folder pair to open in new folder window 87 Release Notes New folder window features in this version not available in previous version e Supports folder window printing and print preview Can automatically rescan folders when window receives focus 88 Appendix A R
76. pn T EPEC ECR RRR ee eee AA eq finclude lt ContigPch h gt 1 finclude cConfigDcl h 3 finclude lt util h gt 1 finclude cConfigPch h T finclude c ConfigDcl h T finclude c util h 4 Line Matching These options let DiffMerge ignore whitespace and letter case when vertically aligning and matching up lines Generally this allows DiffMerge to achieve the best vertical text alignment Overall Line Matching Ignore Fold Case when Matching Lines Ignore Strip Whitespace when Matching Lines Also Ignore Strip TABs when Matching Lines Note Changes in whitespace and letter case on a line will still be detected and indicated but they will not throw off the vertical alignment This is very useful when source files are re indented The Content Handling Page The Content Handling Page of the New Edit Ruleset Dialog lets you tell DiffMerge about the various contexts such as string literals and comments within a file DiffMerge can use this information to classify changes as important or unimportant These settings are only used in File Diff and Merge Windows when the Detail Level is set to Lines and Characters Edit Ruleset C C C Source Name Matched Contexts Character Encodings Lines to Omit Comment to V Line Handling Comment to EOL Escape character 1 Literal to or EOL Escape character Literal to or EOL Escape character Y Content Handling Equivalence Mode
77. re different same information to the binary files cannot be loaded dialog by doing a raw comparison of the files Turned off EXPAND_ENV_VARS in the Windows version so that characters in pathnames are not interpreted This was causing problems when dollar signs and backslashes were both present e Fixed problem in Shell Extension Approved registry settings that was preventing explorer integration from working on some Windows systems e Allow dev null as command line argument on Linux and Mac versions This was failing because the file or folder tests were failing because dev nu11 is a not a regular file Fixed crash when DiffMerge was given a pathname to a non existent file and the pathname contained a character Added registry keys containing the path to the installation directory and the DiffMerge executable HKLMNSOFTWARENSourceGearNSourceGear DiffMergelInstallDir and HKLMNSOFTWARENSourceGearNSourceGear DiffMerge Location Fixed how ruleset chose the actual character encoding for a set of files when it was set to Use System Local Default Encoding Previously we were taking the value from the grayed Named Encoding field when we shouldn t be e Upgraded DiffMerge to use wxWidgets version 2 8 7 from 2 8 3 This fixes the crash in glibc reported on Ubuntu when accessing the menu so you shouldn t need the G SLICE workaround Fixed crash on Windows when clicking and dragging the black bars in
78. rganization 4 EXPORT RESTRICTIONS You agree that neither you nor your customers intend to or will directly or indirectly export or transmit the SOFTWARE PRODUCT or related documentation and technical data to any country to which such export or transmission is restricted by any applicable U S regulation or statute without the prior written consent if required of the Bureau of Export Administration of the U S Department of Commerce or such other governmental entity as may have jurisdiction over such export or transmission 91 SourceGear License Agreement 5 U S GOVERNMENT RESTRICTED RIGHTS The SOFTWARE PRODUCT and documentation are provided with RESTRICTED RIGHTS Use duplication or disclosure by the Government is subject to restrictions as set forth in subparagraph c 1 11 of The Rights in Technical Data and Computer Software clause at DFARS 252 227 7013 or subparagraphs c 1 and 2 of the Commercial Computer Software Restricted Rights at 48 CFR 52 227 19 as applicable Manufacturer is SourceGear LLC an Illinois LLC MISCELLANEOUS This Agreement is governed by the laws of the State of Illinois Should you have any questions concerning this Agreement or if you desire to contact SourceGear LLC for any reason please access our website at http www sourcegear com or contact us at feedback 9 sourcegear com NO WARRANTIES To the maximum extent permitted by applicable law SourceGear LLC expressly disclaims any warranty f
79. ring such things as line termination and whitespace If equivalence testing fails or is disabled the files are marked different Equivalence testing is optional because it can only increase the time needed to scan the file system and file system scanning is already quite time consuming For this reason there are 2 levels of equivalence testing each with different levels of complexity File Equivalence Modes File Equivalence Mode Disable File Equivalence Testing Use Exact Match Only Disables file equivalence testing within Folder Windows Files will be marked as either identical or different Exact Match or Simple File Equivalence Testing 47 The Options Dialog Simple equivalence mode attempts to be a quick approximation When a pair of files are not identical DiffMerge will rescan the files and optionally ignore simple differences in line termination and whitespace It does not look at letter case It operates as if the Detail Level is set to Lines Only mode It does not handle character encoding issues nor import to UNICODE It assumes that files are in an 8 bit encoding compatible with US ASCII It is only attempted for files with a suffix in the given list 8 Exact Match or Ruleset based File Equivalence Testing Rulesest based equivalence is a more thorough attempt It uses most of the settings in the corresponding Ruleset for each pair of files this includes ignoring differences in character encoding by using
80. rker cpp Jexamples branch 1l AboutBox Marker cpp EE EEN l lll LIE Bg Ml ETU 15 define FIX 6 define VAR 1 T FF BP MB Cg M C B B PB C FC B III ES be BEGIN EVENT TABLE AboutBox wxDialog V C M6 BEGIN EVENT TABLE AboutBox wxDialog s 23 EVT BUTTOM ID BUTTON SUPPORT 7 EVT BUTTON ID BUTTON SUPPORT 24 END EVENT TABLE 18 END EVENT TABLE o FIN FK B IP C II l flf f f9K J flfffky EEES 22 define M 7 23 defTine FIX 6 34 define VAR 1 26 EHE MH UU EU LJ 28 AboutBox AboutBox qgui frame pFrame S AboutBox AboutBox gui frame pFrame wxDialog pFrame 1 VER ABOUTBOX wxDialog pFrame 1 VER ABOUTBOX Changes 2 Reference View Files as Loaded Edit View File as Edited Ruleset C C 150 8859 1 Chapter 2 Installation Windows On Windows DiffMerge is distributed as a standard Microsoft Installer MSI package and as a ZIP archive Both formats contain the same files DiffMerge is a 32 bit application and runs on both 32 and 64 bit systems Both 32 and 64 bit versions of the Windows Explorer Shell Integration Extension are included to allow integration to work on both platforms Using the MSI Package The preferred method of installing DiffMerge is to use the MSI package To do so simply click on the file and follow the on screen instructions i SourceGear DiffMerge Setup Welcome to the SourceGear DiffMerge Setup Wizard The Setup
81. s Dialog DiffMerge Options E File Windows Rulesets Detail Level Show Files are Identical Messages Line Colors Intra Line Colors v Show Auto Merge Conflicts Messages Other Colors amp Folder Windows Folder Filters v Show Same Folder Warning Messages Folder Colors Equivalence Mode v Show Same Files Warning Messages Show Message Dialogs Show Reached EOF in Find Dialog Messages Messages Explorer Integration External Tools 4 Show Using External Tool Messages Show Multiple Windows on Exit Warning Messages Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings The Explorer Integration Page This Page is only available on Microsoft Windows The Explorer Integration Page lets you control the DiffMerge integration with Windows Explorer This feature allows DiffMerge to add commands to the context menu of Windows Explorer These commands allow Windows Explorer to launch DiffMerge with the selected file s and folder s 49 The Options Dialog DiffMerge Options E File Windows Rulesets Register Na Unregister Now Line Colors 3 Intra Line Colors System wide Settings for Windows Explorer Integration Other Colors Personal Settings for Windows Explorer Integration fl Folder Windows Folder Filters e Enable the DiffMerge Context Menu in Windows Explorer Folder
82. s are displayed The View Selector is only present when editing is permitted on the files When not present the window only shows the Reference View and treats all files in the window as read only Ruleset Indicator The Active Ruleset Indicator shows the current Ruleset in use in this window The Ruleset provides customizable rules for comparing and displaying file content such as whitespace handling and character encodings that are based upon file type Ruleset C C C Source Generally the Ruleset is automatically selected based upon the file suffix It may be changed using the File Change Ruleset command Character Encoding Indicator The Character Encoding Indicator shows the character encoding of the files 13 File Diff Merge Windows If both or all 3 files have the same character encoding the value is listed once UTF 8 If each file has a different encoding each is listed separately DiffMerge compares the files after the files have been converted from the original character encoding into UNICODE So files that are in different encodings can be compared UTF 8 UTF 16BE BOM If a file contained a UNICODE Byte Order Mark BOM a BOM will be shown The Splitter By default DiffMerge shows the file panels side by side with vertical splitters between them This mode allows you to easily see and match up the corresponding lines in the files However you may have to scroll horizontally to see parts of
83. stor SDEST_PATHS The pathname where the merge result should be written This comes from the result argument given to DiffMerge It falls back to the baseline pathname 71 Chapter 8 Printing Printing File Windows You can print the contents of File Diff and Merge Windows and see the differences highlighted as they are on the screen SourceGear DirrMerge File Comparison ec examples branch 1 subfolderi Preview IntraLineMode 3 cpp a important identical b unimportant identical IMPORTANT Hon Matching change UNIMPORTANT Hon Matching change identical line conflict AAAA aaaa IMPORTANT Hon Matching change UNIMPORTANT Non Matching change 1 2 3 A n 6 7 8 Ruleset C C Cf Source Mode All Tab Width 4 DiffMerge uses all of the current display settings such as the Detail Level Display Mode various hiding options and etc So for example if you are have selected Show Differences Only in the window the output will also only contain the differences 12 Printing Changes are printed in color using a bold font Conflicts are printed in color using a bold and underlined font DiffMerge uses the same coloring rules for text as on the screen however it does not use the background colors The page footer gives a summary of the settings that affected the output When DiffMerge prints a File Window it actually prints both all of the files in the window simultaneously Each File Panel is printed on
84. t Files to Compare Dialog and allows you to type or browse to the pathnames of the files you wish to compare Select Files to Compare Left File for Older or Original Version C examples ancestor AboutBox cpp Right File for Newer or Modified Version C examples branch_1 AboutBox cpp If a Swap button is provided it will swap the left and right pathnames Keep in mind that only the right bottom file will be editable You can open a File Merge Window by selecting File Open Merge Window from the menu This raises the Select Files to Merge Dialog 10 File Diff Merge Windows Select Files to Merge Left File for First Modified or Branched Version C examples branch_1 AboutBox cpp Center File for Common Ancestor Version C examples ancestor AboutBox cpp Right File for Second Modified or Branched Version C examples branch_2 AboutBox cpp Cancel Note in both cases if the set of files selected are already open in an existing window that window will be raised rather than creating a new duplicate window Parts of a File Window Here is an example of a File Merge Window bl AboutBox cpp SourceGear DiffMerge Edit View Tools Help ill changed again hello AboutBox cpn AboutBox cpn Reference View Files as Loaded Edit View Merge Result Ruleset C C C UTF 8 File Panels In the center of File Diff and Merge Windows DiffMerge displa
85. t the new terms are clearly indicated on the first page of each file where they apply IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT INDIRECT SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE ITS DOCUMENTATION OR ANY DERIVATIVES THEREOF EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 89 Regular Expressions THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT THIS SOFTWARE IS PROVIDED ON AN AS IS BASIS AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE SUPPORT UPDATES ENHANCEMENTS OR MODIFICATIONS GOVERNMENT USE If you are acquiring this software on behalf of the U S government the Government shall have only Restricted Rights in the software and related documentation as defined in the Federal Acquisition Regulations FARs in Clause 52 227 19 c 2 If you are acquiring the software on behalf of the Department of Defense the software shall be classified as Commercial Computer Software and the Government shall have only Restricted Rights as defined in Clause 252 227 7013 c 1 of DFARs Notwithstanding the foregoing the authors grant the U S Government and others acting in its behalf permission to use and distribute the software in accordance with the terms spec
86. ter line smoothing can be thought of as clumping nearby changes into a single change Inter line Smoothing Threshold 0 In the following when the smoothing is set to 0 disabled we see 2 changes AboutBox cpp AboutBox cpp AboutBox cpp E i i i i i i i i i i i i i i i Fi i i 1S F f i f f Fi Fi Fi Fi Fi Fi Fi A VOS AAA INNEN CO Same Line Same Line Same Line Same Line Same Line Same Line Same Line Same Line Same Line Line 2 Line 2 When the smoothing is set to 3 or more we see that they have been combined into 1 change that includes the identical lines between them AboutBox cpp AboutBox cpn f AboutBox cpp ESE ERRE II E ERRE IA E FRI a ILI III ELI LE ae DAE ee See ia Same Line Same Line Same Line Same Line Same Line Same Line Same Line Same Line Same Line Line 2 Line 2 i This feature is initially set to O disabled because in File Merge Windows this smoothing can cause adjacent changes such as in the above example to be considered a conflict when the individual unclumped changes would not be When you increase the threshold you increase the likelihood that Auto Merge will require manual follow up This may or may not be a good thing it s somewhat questionable how far apart nearby changes should be to be considered independent changes By increasing the setting to 1 or 2 you may produce a few conflicts that will cause A
87. text around each Identical lines not adjacent to a change are hidden Note The last 2 modes are only available in the Reference View 20 File Diff Merge Windows Omitted Lines A Ruleset can declare that certain lines be omitted from the difference analysis These lines are treated as if they were not present in the file during the analysis For example you might use this feature to ignore differences caused by RCS Keyword Expansion Normally these lines are drawn in a special gray color For example when we add the Regular Expression SRevision we can see that the revision lines were omitted from the analysis mplesyancestor AboutBox OmitRevision cpp branch_1 AboutBox_OmitRevision cpp include lt fd h gt include lt fd h gt include lt qui h gt include lt gui h gt Changes 0 Omissions 1 Hide Omitted Lines The View Hide Omitted Lines menu option causes these lines to be hidden and a Gap drawn instead mples ancestor AboutBox_OmitRevision cop branch_1 AboutBox_OmitRevision cpp include lt fd h gt Finclude lt fd h gt finclude zgui h clude lt gui h gt Changes 0 Omissions 1 Note The Hide Omitted Lines feature is only available in the Reference View when you have the Display Mode set to Show All Hiding Unimportant Differences A Ruleset can also describe the various Contexts in a file and classify them as Important or Unimportant For example changes wit
88. the glance window to the top of the screen Fixed problems with how we create the Shell Explorer Integration context menus on Windows that was in certain circumstances causing files to appear multiple times in the context menu Release 3 1 0 October 2007 SourceGear DiffMerge 3 1 http www sourcegear com diffmerge index html is available as a FREE http www sourcegear com diffmerge downloads html stand alone utility application Major Improvements 1 Windows Shell Extension Added integration with Windows Shell Explorer A Compare with DiffMerge menu item was added to the Windows Explorer right mouse context menu for files and folders This feature can be enabled disabled from the Options dialog 2 Changed Installer The MSI installer is now generated using Advanced Installer This fixed several installation related problems especially on Vista Administrative privileges are still required for installation but under Vista the installer will use the privilege elevation mechanism so that you don t need to be logged in as an administrator to start the installation If you do not have administrator access to your machine please use the ZIP package 3 Items Placed on Clipboard Remain after Exit We no longer clear the clipboard when DiffMerge exits 83 Release Notes 4 Fixed Various Crashes Fixed various crashes when windows were closed using the ESC key while the mouse was captured Fixed crash after auto
89. the settings on the Character Encodings Page of the Ruleset Dialog and importing the files into UNICODE e ignoring differences in line termination whitespace and letter case by using the settings on the Equivalence Mode Page of the Ruleset Dialog and e stripping out lines matched by the Lines to Omit settings on the Ruleset Ruleset based equivalence does not use the settings on the Line Handling Page of the Ruleset Dialog Ruleset based equivalence operates as if the Detail Level is set to Lines Only and therefore does not use any of the Content Handling Context settings For Ruleset equivalence to work Rulesets and automatic suffix matching must be enabled For an individual Ruleset character encoding selection must be automatic If a Ruleset or character encoding cannot be automatically chosen equivalence testing will either be skipped or the Default Ruleset chosen instead Do not enable the Default Ruleset if you have binary files in your folders since the attempt to import the files into UNICODE will generally fail and just waste time As a performance consideration you may want to set an upper file size limit for Ruleset equivalence testing The Messages Page The Messages Page lets you to choose which message dialogs that you do or do not want to see Each of the message dialogs has a Do not show again option The following check boxes let you re enable any message dialog that you turned off 48 The Option
90. tivated DiffMerge can optionally automatically rescan the filesystem and look for files that have been modified by other applications This rescan is performed each time a Folder Diff Window comes to the foreground and becomes the active window Tip This option can be very expensive and annoying if you are comparing large folders Disable it if restacking windows causes an unacceptable delay The Folder Filters Page The Folder Filters Page contains the settings for controlling how DiffMerge filters out uninteresting files and sub folders from the Folder Diff Window display DiffMerge Options E File Windows Rulesets Detail Level Use File Suffix Filters Line Colors de Intra Line Colors la aps bsc cab dll exe exp id idb ilk lib map mdp ncb o obj ocx out pch pdb res sbr so vcp Other Colors x amp Folder Windows Folder Filters Folder Colors Use Sub folder Filters Equivalence Mode Messages Debug Release _sgbak _sgvault objs svn git bzr Explorer Integration AAA AAA External Tools File Suffix Filters Sub folder Filters Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings 44 The Options Dialog Tip Scanning the file system 1s very expensive and time consuming The use of Folder Filters can usually speed this up considerably by eliminating the need to look at various types of files and entire sub folders It
91. tra Line Colors Other Colors Folder Windows Folder Filters Equivalent Files Folder Colors Equivalence Mode Equal Files Messages Explorer Integration External Tools Color Scheme for Folder Windows Non Equal Files Folders Peerless Files Peerless Folders Errors Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings The Equivalence Mode Page The Equivalence Mode Page lets you configure how Folder Diff Windows compares files 46 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Disable File Equivalence Testing Use Exact Match Only Line Colors Intra Line Colors PT Other Colors 8 Exact Match or Ruleset based File Equivalence Testing E Folder Windows Folder Filters Simple File Equivalence Folder Colors Equivalence Mode Messages li Explorer Integration External Tools File Equivalence Mode Exact Match or Simple File Equivalence Testing Ruleset based File Equivalence Allow Default Ruleset See Help File Size Limit MB 1 Ne wt Restore Defaults When a Folder Diff Window scans the file system it tries to quickly compare each pair of files and determine if they are byte for byte identical For files that are not identical DiffMerge can optionally look and see if they are equivalent by igno
92. ts Compare 2 files and write the results to this pathname The file is only created if there are differences to report u unified If there are differences write them in Unified Format rather than Tranditional Format Exit Status When diffing to a file DiffMerge sets the exit status to 0 IDENTICAL the input files are identical and the output file is not created 1 DIFFERENT the input files are different and the differences are written to the output file 2 FILE ERROR there were file errors that prevented the files from being compared this includes file I O errors and problems detecting the character encoding of the input files 3 SYNTAX ERROR there were syntax errors with the command line arguments 78 Chapter 10 Integration with Third Party Software DiffMerge can be configured as an external compare merge tool with various third party version control systems Usually this just involves formatting the correct command line template string in the package s options dialog Here are instructions for the packages that we have information about Microsoft TFS Information on configuring an external diff merge tool can be found at http msdn2 microsoft com en us library ms181446 aspx This document describes how to configure tools based upon file suffix A can be used for the suffix to change the default tool settings For a listing of the arguments used to build the command line string see James Man
93. ts the next Change after you apply a patch change using one of the various toolbar or menu commands This allows you to rapidly apply a series of changes without having to manually advance using the Next Change command If not checked DiffMerge leaves the caret where it was after the patch change was applied and does not highlight a change The Rulesets Page The Rulesets Page contains all of the settings for controlling how Rulesets are used by DiffMerge For information about the contents of an individual Ruleset see Rulesets Rulesets allow you to fine tune DiffMerge to handle different types of files This includes things such as character encodings end of line conventions and whitespace handling 33 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Line Colors Intra Line Colors Other Colors Custom Rulesets amp Folder Windows Folder Filters Enable Custom Rulesets Folder Colors Automatically Match Suffixes Instead of Asking Me Equivalence Mode Ignore Case When Matching File Suffixes Messages Explorer Integration _ Require Complete Match Must Match All Files External Tools Ask Me When Nothing Matches Instead of Using Default C C C Source Visual Basic Source Python Source Java Source Text Files UTF 8 Text Files XML Files Default Ruleset The Default Ruleset is used when no Custom Ruleset matches T
94. urn strversion C examples branch_1 AboutBo gt gt wxotring strVersion wxString Format Wersion d d 3d 5d s gt VER MAJOR VERSION o ES B gt COVER MINOR VERSION E gt gt COVER MINOR SUBVERSION COVER BUILD NUMBER n ERR AN ETB Ld Label e str d eee ee ln llmzii return strVersion Y 37 The Options Dialog When Disabled DiffMerge sees this as a five line change There 1s a one line change where text was deleted from the end of the line followed by an insert of four lines of new text Since DiffMerge does not combine the lines in this mode the two parts are seen simply as adjacent but unrelated changes C examples ancestor AboutBox cpp gt gt wxotring strVersion wxString Format Version td td td d s gt gt gt gt gt gt gt gt gt gt VER MAJOR VERSION VER MINOR VERSION VER MINOR SUBVERSION VEI gt return strversion C examples branch_1i AboutBo gt wxotring strVersion wxS5tring Format Version td td td 5d s gt gt gt gt gt gt gt gt gt gt VER MAJOR VERSION gt gt gt gt gt gt gt gt VER MINOR VERSION gt gt gt gt gt gt gt gt gt VER MINOR SUBVERSION gt gt gt gt gt gt VER BUILD NUMBER gt gt
95. uto Merge to complain but these are areas that you probably want to examine anyway Also you might use this feature to reduce the number of annoying little changes reported For example in source code a function frequently consists of several lines of text a blank line several lines of text a blank line and so on If someone inserts or changes a big chunk of code the blank lines can sync up and the unrelated chunks of code can appear as a sequence of little changes Setting the threshold to 1 should cause these individual changes to appear as 1 large change rather than numerous annoying little ones This field is used in both Detail Levels The Line Colors Page The Line Colors Page lets you set the various colors used to draw text with a File Window These colors are used when the Detail Level is set to Lines Only These colors are also used as the line base colors when the Detail Level is set to Lines and Characters 39 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Line Colors Intra Line Colors Other Colors amp Folder Windows Folder Filters Folder Colors Equivalence Mode Messages Explorer Integration External Tools Overall Line Colors Foreground Background File Merge Windows File Diff Window Preview File Merge Window Preview identical line non matching line Identical Lines Changes in File Diff Windows Conflicts identical line
96. ve size of the file panels Double click on it to restore it to the center The Toolbar The toolbar above the File Diff Merge Windows presents the following commands Some appear only in File Merge Windows aa MED oo eo aaa X From left to right these are View Show All View Show Differences Only and View Show Differences with Context set the line display mode View Show Line Numbers and View Show Invisibles control the visibility i l E t J of line numbers and whitespace and line terminator characters m 3 View Split Windows Vertically and View Split Windows Horizontally LU EJ control whether the file panels are side by side or above and below File Save File Edit Cut Edit Copy and Edit Paste Edit Undo and Edit Redo Apply Change from Left and Apply Change from Right apply the current c om change to the editable file 15 File Diff Merge Windows Edit Next Change and Edit Previous Change move the cursor to the next and previous changes ES Edit Next Conflict and Edit Previous Conflict move the cursor to the next Po and previous conflicts rs Edit Merge to Center performs Auto Merge dm Other Menu Commands There are a few File Diff and Merge Window commands that are only in the Menu and not on the Toolbar File Reload reloads the files in this window from disk File Change Ruleset allows you to select a different Ruleset for the curre
97. w Synopsis diffmerge nosplash Opens an empty DiffMerge Window Exit Status Always exits with exit status OK 0 or SYNTAX ERROR 3 Opening a Diff Window Synopsis Flags diffmerge caption caption nosplash ro2 shex tl title1 t2 title2 filel file2 Opens a File Diff Window with the given files If only one file is given you will be prompted for the second File will appear in the left panel file2 will appear in the right panel If you do not specify ro2 file2 will be editable and you can apply patches to it from file diffmerge caption caption nosplash shex tl tit1e1 t2 title2 foideri folder2 Opens a Folder Diff Window with the given folders If only one folder is given you will be prompted for the second Folder will appear in the left panel folder2 will appear in the right panel c caption message 75 Command Line Arguments A caption for the application title bar of the first window ro2 Treat file2 as read only Shex Windows only This is used by the Windows Shell Explorer Integration feature This option forces the Open Files or Folders dialog to appear even when not necessary before opening the first window to allow you the opportunity to swap the pathnames if necessary t1 titlel message Sets the File Panel Lable for the first file column t2 tithe2 message Sets the File Panel Lable for the second file column Exit Status Always ex
98. wap button in the Select Files to Compare or Select Folders to Compare dialogs When 2 Items are Selected When 2 files or folders are selected the context menu will look something like this BY C Xexamples branch 1 File Edit View Favorites Tools Help CS Back d yo Search Folders IES Es x i Ey r Address C examples branch_1 subfolderag jAboutBox Pen cAboutBox Explore tAboutBox Search AboutBox IB rise cAboutBox Send To l 6 AboutBox JAboutBox Cut CJAboutBox Copy AboutBOX Paste 6 AboutBox GAboutBox Create Shortcut omit regt Delete Rename Joothed cpp Compare subfolder2 with subfolder1 Compare subfolder1 with subfolder2 Properties Compare the Selected Folders with SourceGear DiffMerge DiffMerge shows the short version of the context menu With it you can launch DiffMerge to compare the 2 items and choose which will appear on the left and right The External Tools Page The External Tools Page lets you to direct DiffMerge to invoke external third party tools when comparing and or merging various types of files 32 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Enable External Tools Masa Ces v Ignore Case When Matching File Suffixes Intra Line Colors Other Colors _ Require Complete Matc
99. will also help reduce on screen clutter File Suffix Filters DiffMerge can filter out temporary binary and other machine generated files that are normally produced as a by product of software development This section handles filtering out files by suffix File Suffix Filters Use File Suffix Filters a aps bsc cab dll exe exp id idb ilk lib map mdp ncb o obj ocx out pch pdb res sbr so vcp The text field contains a space separated list of suffixes for files that should be excluded such as EXE and DLL When DiffMerge sees a file with one of these suffixes during the file system scan it skips it completely Sub folder Filters DiffMerge can filter out entire sub folders and everything contained within them This 1s useful for compiler output directories as well as for the various folders of state files that many Version Control Systems leave in your source tree Sub folder Filters Use Sub folder Filters Debug Release _sgbak _sgvault objs svn git bzr The text field contains a space separated list of sub folder names that should be excluded When DiffMerge sees a sub folder with one of these names during the file system scan it skips it and everything contained within the sub folder The Folder Colors Page The Folder Colors Page lets you set the various colors used to draw rows within a Folder Diff Window 45 The Options Dialog DiffMerge Options E File Windows Rulesets Detail Level Line Colors In
100. ws B Rulesets Detail Level Courier New 10 Point Choose Line Colors Intra Line Colors Other Colors Printer Font Folder Windows Folder Filters Courier New 10 Point Folder Colors Equivalence Mode Messages Window Options Window Font Explorer Integration ve Check for Modified Files when File Diff Merge Windows are Activated External Tools v Print Files Interleaved 1a 1b 1c 2a 2b Require Final EOL when Saving Files v Enable Auto Save Edit Interval 100 IE Automatically Advance to Next Change after Apply Change Command Restore Defaults The Restore Defaults button restores all the fields on this and only this page to their original factory settings 3l The Options Dialog Fonts The Window Font and Printer Font fields determine the screen and printer fonts used to draw and print the files The Choose buttons raise the standard system font chooser Window Font Courier New 10 Point Printer Font Courier New 10 Point Window Options The Window Options box contains a collection of miscellaneous settings Check for Modified Files when File Diff Merge Windows are Activated DiffMerge can optionally test and display a warning if a file has been modified by another application This warning also asks you if you would like to reload the file s This test is performed each time that a File Diff or Merge Window comes to the foreground and becomes th
101. xamples ancestor folder subfolderl Preview LineMode 3 txt version h The status bar contains a summary of the folder differences This is independent of the various show hide settings 2 Identical 13 Different 2 Equivalent 1 Files Without Peers 2 Folders Using The Mouse Double clicking on a row with labelled as Identical Equivalent or Different invokes either the View Compare Selected Files or View Compare Selected Folders command and will open a new DiffMerge window containing the 2 items Right clicking on a row will raise a context menu with additional commands The Toolbar The toolbar above the Folder Diff Window presents the following icons Dl amp ee Y dd E 4 gt fs From left to right these are View Compare Selected Files and View Compare Selected Folders open the u selected pair of items in a File Diff or Folder Diff Window View Show Equal Files shows hides byte for byte identical files View Show Equivalent Files shows hides files that have minor differences such as pas in whitespace but are otherwise effectively equivalent Equivalence settings are set in the Options Dialog PR View Show Files without Peers shows hides files that are only present in one of the 2 folders View Show Folders shows hides sub folders within the 2 folders E aes Other Menu Commands There are a few Folder Diff Window commands that are only in the Menu and not on the
102. yed in various places to help you identify the tool Name WinMerge File Suffixes This is a list of suffixes that should be assigned to this External Tool Entries should be separated by spaces and should not contain dots File Suffixes The Diff Page The Diff Page of the Add Edit External Tool Dialog lets you configure the tool to be used for File Diffs 68 External Tools Edit External Tool WinMerge 2 Way File Diffing ve Enable External Tool for File Diffing Pathname to External Tool C Program Files WinMerge WinMergeU exe ne Command Line Arguments for External Tool dl SoLEFT_LABEL dr S oRIGHT_LABEL SoLEFT PATH96 SaRIGHT PATHS Insert Argument Placeholder Variables for Pathnames Left Labels Left Cancel 2 Way File Diffing This check box determines if this tool should be used for File Diffs 2 Way File Diffing e Enable External Tool for File Diffing Pathname This field contains the pathname of the executable that should be used for File Diffs Pathname to External Tool C Program Files WinMerge WinMergel exe NE Tip On Mac OS X you can give the path to either the application bundle the foo app folder or the name of the actual executable inside the application bundle foo app Contents MacoOSs foo Command Line Arguments Since each external application seems to have its own unique argument ordering and co
103. ys 2 or 3 files in a series of File Panels Each panel looks like a basic text editor window with a few differences 11 m s Eau mea A 09 2824 48 C examples branch_1 AboutBox cpp C examples ancestor AboutBox cpp C examples branch_2 AboutBox cp Changes 7 Confli File Diff Merge Windows ranch 1XAboutBox TypesOfChanges 2crlf cpp ee an added line this is just e 6 finclude zfoo an added 1i T finclude c ConfigDcl h 2 finclude czutil h A ONS e i10 include lt fim h gt D 11 inelude lt poi h gt e 12 include fs h i3 finclude fd h A Panel Label is drawn above the panel This may contain the pathname of the file or a symbolic name describing the version of the file Line Numbers are optionally displayed next to each line of the file nvisible characters such as whitespace and line terminators are optionally displayed using special symbols Bold Underlined Text is use to indicate edited text e An Edited Line Indicator e is drawn in the line number area for edited lines A Void is drawn using a shaded diagonal hatch pattern to indicate missing lines This is shown in Showing Changes Changes are drawn in color This is explained in Showing Changes A Gap is drawn to indicate hidden lines This is illustrated in the Display Mode and Hiding Omitted Lines The Glance Bar The Glance Bar gives a visual summary of the shape of the chan
Download Pdf Manuals
Related Search
Related Contents
Cuisinart MM-2M Use and Care Manual Caminhões fora de estrada Style Guidelines for Programming in C/C++ HumidAire 2i™ User Manual ダウンロード(PDF 0.2MB) Joule‐Thomson Cold Finger Design and Analysis PNY GF430GT1GESB NVIDIA GeForce GT 430 1GB graphics card CnMemory 8GB Evolution 3.0 Copyright © All rights reserved.
Failed to retrieve file