Release Notes for P4Merge, the Perforce Visual Merge Tool GA Release 2008.1 May 30, 2008 Introduction The 32-bit version of P4Merge, the Perforce Visual Merge Tool, runs on: * Mac OS X 10.4 or higher * RedHat Linux 9.0 and Suse 9.1 * Windows 2000, Windows XP, Windows 2003, and Windows Vista * FreeBSD 5.4 and FreeBSD 6.0 for X86 * Solaris 10 for X86 and Solaris 10 SPARC The 64-bit version of P4Merge, the Perforce Visual Merge Tool, runs on: * Linux 2.6 kernel * FreeBSD 5.4 and FreeBSD 6.0 for x64 P4Merge 2008.1 works with a Perforce Server at Release 2004.2 or higher, but does not require one. Documentation P4Merge Release 2008.1 is documented in help files that are embedded within the program. User Audience P4Merge is an end-user application designed for software developers. P4Merge can be run stand-alone and does not require a Perforce Server or P4V. Installation Windows From the download page, download and run the P4V installer. The P4V installer includes P4Merge. Mac OS X From the Perforce download page, option-click the P4V Download icon and save the file to disk. To install P4V and P4Merge, double-click the downloaded file. P4Merge is included in the P4V.dmg file. To run P4Merge from the command line, issue the following command: /p4merge.app/Contents/Resources/launchp4merge NOTE: The launchp4merge command-line binary must be run from the above location. You can create a link, alias or shell script that points to this location. Unix From the download page, right-click the P4V Download icon and save the p4v.tgz installation file to disk. P4Merge is included in the p4v.tgz, packaged in a compressed tar file. Because P4Merge is the same binary file as P4V, installing P4V installs P4Merge. To start p4merge without P4V, issue this command: p4v -merge Compatibility of Client and Server Versions Unless stated otherwise you can operate any release of a Perforce client application with any release of a Perforce server, but any functionality that is new in 2008.1 requires you to upgrade the client application and possibly the server as indicated by asterisks in the descriptions below. * -- requires new p4v client program ** -- requires new p4d server program -------------------------------------------------------------------------- Known Image Diff Problems (Bug #29469) When diffing .TIFF files the horizontal and vertical image resolution might be reported incorrectly. (Bug #29477) When diffing 48bit color (16bit each channel r/g/b) .TIFF files the image depth is reported to be 32-bit. (Bug #29587) When diffing .GIF files, the image depth is always reported to be 32-bit. (Bug #29497) Only RGB formatted files are supported in the image diff tool. If a CMYK formatted file is diffed, its format isreported as RGB. -------------------------------------------------------------------------- Bugs fixed since 2008.1/156517 (Beta) #157352 * CTRL+ keys no longer adds a number to the Edit Merge pane if there is no difference or conflict to scroll to. (Bug #29714) -------------------------------------------------------------------------- Major new functionality in 2008.1 #149390 * P4Merge adds support for diffing image files. You can diff the following image file types: * BMP * GIF * JPG,JPEG * PNG * PBM * PGM * PPM * TIFF * XBM * XPM For details about how to diff images, refer to the P4Merge online help. Note: you can create plugins to add support for other image file types. For technical details, check the Trolltech web site. Known Limitation P4V displays thumbnails for both image files and related file types such as Photoshop and Maya. You can diff images in P4V by dropping one thumbnail on another. However, P4Merge does not support all file types for which thumbnails are displayed. For example, if you drop a Photoshop icon on another Photoshop icon to diff the files, P4Merge determines that the file are not supported types of image files and attempts to diff the files as text. (Sir #21119) #151214 * P4Merge now has a full-featured help viewer that includes indexing, searching, bookmarking and printing. (Sir #24980) -------------------------------------------------------------------------- Bugs fixed in 2008.1 #155835 * Character encoding mismatch dialog now contains additional information when diffing unsupported file types. (Bug #29495) #155377 * P4Merge no longer crashes if file has no read permissions, or file name or path contains quotes. (Bug #24121, Bug#29440, Bug#29510) #154892 * Character encoding mismatch dialog now has access keys and correct dialog buttons. (Bug #29348) #154720 * P4merge no longer crashes on Linux if the Application font and Text Format fonts are identical. (Bug #29333) #153100 * P4Merge is brought to the front when invoked from P4V. (Mac only). (Bug #29012) #152032 * To avoid conflict with system color preferences, P4Merge now displays the window background as white and foreground text as black. (Bug #28415) #148444 * Erase leftover swooshes after deleting all text from edit pane. (Bug #27626) #148110, #154498 * P4Merge now correctly uses the tab width specified on the command line. (Bug #28429) -------------------------------------------------------------------------- Bugs fixed since 2007.3/147477(GA) #148946 * Context sensitive help now works correctly on Mac OS X 10.5. On Mac OS X 10.5 and above, use 'Alt-Command-?' as the Shortcut key combination to launch Context Sensitive Help. (Mac only) (Bug #28585) #148870 * On Unix, P4Merge now has an 'Application Font' preference. (Bug #21000) #148502 * P4Merge no longer crashes if the font is set to a very large size. (Bug #28546) -------------------------------------------------------------------------- Bugs fixed since 2007.3/144309 (Beta) #146957 * On the Mac, when choosing a different character encoding in the the character encoding mismatch dialog, P4Merge no longer ignores the new choice. (Bug #28072) #146743 * Scrolling to diffs is no longer animated and it now snaps into place. (Bug #28195) #146441 * The unix line ending preference is no longer ignored on Windows. (Bug #28293) #146078 * Unnecessary compare files dialog no longer displays when starting P4Merge from P4V on the Mac. (Bug #27488) #146078 * Character Encoding is now correctly updated after the user chooses a different one from the character encoding dialog on the Mac. (Bug #28072) #145819 * Shortcut for "Select All" now functions properly. (Bug #28205) #145213 * P4Merge no longer hardcodes the active selection color in its panes, and it now uses the system selection color. The user can now customize the active selection color and P4Merge will use that. (Bug #26923) #144937 * When in merge mode, and the document is reloaded by a Refresh, changing the Comparison Method or the Character Encoding, the document now scrolls to the first diff and makes it active. (Bug #28090) #144237 * Scrolling in merge pane now works after selecting all text, deleting it and then reloading the text by refreshing the document, changing the character encoding or the comparison method. (Bug #28032) ------------------------------------------------------------------------- Minor new functionality in 2007.3 #140738 * Shortcut keys are now displayed in the tool bar menu tooltips. (Bug #26895) #139077 * The Current difference highlight is now much easier to see. It has a solid line around it instead of having a darker background. (Bug #17429) #137802 * Window geometry of the Compare Files dialog is now remembered. (Bug #26891) #135026, #144054 * Users can now drag and drop files into the Compare Files Dialog. (Bug #17171, Bug #28029) #130708 * GoTo Line dialog now shows the maximum number of lines in the file/pane. (Bug #27963) ------------------------------------------------------------------------- Bugs fixed in 2007.3 #142799 * To be consistent with Mac standards, menus on the Mac no longer have icons. (Bug #27844) #141817 * Strike-through line now gets removed when the section is edited. (Bug #25158) #141817 * On deleted lines, the strike-through line now draws all the way across from the beginning of the line to the end of the text. (Bug #13539) #141076 * Shortcut key for "Refresh All" on the Mac now maps to Control+Option+R. (Bug #26895) #140923, #143675 * Tab spacing of 0 is no longer allowed. (Bug #26484) #139077 * Selection no longer extends to the end of the pane. It only highlights to the end of the text selected, which is the standard behavior for text selection. (Bug #27624) #137772 * Fixed problem where number of files being passed to P4Merge from P4V was being set incorrectly, causing P4Merge to display an error. (Bug #26687) #130708 * When finding text in P4Merge, highlighted "found" entry is now centered in the pane. (Bug #21354) #130708 * P4Merge now implements the Mac shortcut of shift-scrollwheel allowing horizontal scrolling. (Bug #24748) #130708 * Block now turns grey when typing or pasting at the end of the merge pane. (Bug #13650, Bug #26103) #130708 * Typing in merge pane now longer has a delay on large files after deleting all text and start typing. (Bug #16134) #130708 * P4Merge now scrolls to the next diff marker when changing comparison method that causes current diff to go away. (Bug #17385) #130708 * Vertical scrollbar no longer disappears when changing character encoding in P4Merge. (Bug #19651) #130708 * When changing fonts, the line number font no longer changes. (Bug #21151) #130708 * Display no longer flickers when scrolling gets near the right side of the document. (Bug #21360) #130708 * Highlights no longer appear and disappear depending if line is in window pane's view. (Bug #21461) #130708 * The deleted lines are now correctly shown with strikethrough in single pane diff mode. (Bug #21695) #130708 * When changing fonts, the middle splitter swoosh and line numbers are no longer out of sync with the selections in the panes. (Bug #21937) #130708 * P4Merge window no longer resizes when closing the application. (Bug #22043) #130708 * Highlighted text is correctly shown when switching between character encodings. (Bug #23407) ------------------------------------------------------------------------- Bugs fixed since 2007.2/128166 (GA) #130446 * When merging or diffing large files, some Japanese double byte characters could get split in the incorrect place resulting in corrupted characters. This problem has been fixed. (Bug #25298 ) ------------------------------------------------------------------------- Bugs fixed since 2007.2/123611 (Beta) #130439, #130558 * Characters now display correctly after entering the convert/space key in the IME pad. (Bug #25308) #128843 * When using the Delete key to edit, Merge results are now saved correctly. (Bug #25122) #128753 * All Asian characters are correctly displayed when selecting and entering text on the same operation. (Bug #24994, #25123) #128188 *, #130488 * All Japanese characters are now displayed when using Shift-JIS character set. (Bug #23738) #127577 * When refreshing a file displayed in P4Merge, the size is recalculated, find results and goto lines will be highlighted appropriately. (Bug #25103, #25104) #127335 * Translation files (.qm) are now loaded from the same directory as the P4Merge executable. (Bug #23812) #124593 * P4Merge no longer crashes when changing tab spacing to 0 and the contents of one of the files start with a tab. (Bug #23405) ------------------------------------------------------------------------- Bugs fixed since 2007.1/115675 (Beta refresh) #123589 * Larger files with double byte characters are now handled correctly when merging. (Bug #24812) #121251 * The text displayed by the -h flag for the command-line help can now properly be translated into non-English languages. This fix applies to Windows and Unix platforms only. (Bug #24060) #118633 * Improved the behavior of P4Merge when using multiple displays. There is no longer a limit on the size of the window to the desktop/display. Additionally, there is no longer a resize of the window when moving between displays of different sizes. There is now the ability to restore to a position that spans more than one display. Lastly, there is only a resize on restore to fit the desktop if the prior position is missing (because the second monitor was disconnected). (Bug #22781) ------------------------------------------------------------------------- Bugs fixed since 2007.1/113813 ( initial Beta release ) #115338 * Single-Pane diff mode now correctly displays strikethrough text. (Bug #23376) #113949 * P4Merge help images can now be localized. (Bug #21973) #114643 Fixed problem where when there were two windows open, the toolbar buttons in both windows would reflect the state of the *frontmost* window. (Bug #23557) #114156 * The correct Help page is displayed when in Merge mode. (Bug #23430) #103290 * The text displayed for the Comparison Method and Character Encoding menus can now properly be translated into non-English languages. (Bug # 21581) ------------------------------------------------------------------------- New features in 2007.1 #107598 * File names are now displayed when in single-pane mode. (Bug #17759) #107276 * The next/previous buttons are now always enabled if there is only one diff in the file. Clicking them scroll to the diff. (Bug #17997) #106451 * P4Merge now checks to see if the initial character set is okay for all files. If it's not, P4Merge triesthe System charset. If the System charset is okay, P4Merge selects System as the default in the Charset confirmation dialog drop-down list to indicate that the files are most likely text and System is a better choice. The Charset confirmation dialog now has a "Yes", "No" and "Cancel" buttons instead of the "Continue..." and "Cancel" buttons. (Bug #21896) ------------------------------------------------------------------------- Bugs fixed in 2007.1 #111179 * P4Merge now finds the first instance of the search string, if one of the files began with the search string input. (Bug #22995) #111178 * P4Merge now correctly performs a text search using the Find facility with a full search from the top to the bottom of a file. (Bug #22950) #109126 * Switching between windows in P4Merge is now faster. (Bug #22453 ) #108434 * P4Merge no longer crashes in some instances when finding forward then backward. (Bug #22313, Bug #22314 ) #108418 * P4Merge now displays a dialog when you switch views by clicking on the diagram. This dialog asks if you want to replace the Merge result and reminds you that you can choose Undo to go back to a previous version of the Merge result. (Bug #7975) #107084 * The taskbar on Unix now displays a P4Merge application icon when P4Merge is running. (Bug #20648) #107032 * P4Merge no longer crashes if you remove one of the files and then refresh P4Merge. (Bug #21191) #106451 * The system charset that you select in the Charset confirmation dialog is now passed correctly to P4Merge. (Bug #22032) #105931 * PageUp, PageDown, End and Home keys now work properly. (Bug #21699) #103093 * On Windows, ESC no longer closes the main P4Merge application window. (Bug #21591) #101533 * In P4Merge, changing the character encoding no longer loses the current diff selection in merge mode. (Bug #21161) ------------------------------------------------------------------------- New features in 2006.1 #96922 * P4Merge now allows up to 10 MB of combined file size limit. Users will get a warning if the combined file size is between 2MB and 10MB, but will be allowed to continue if they choose to do so. (Bug #18090) #95914 * Additional properties now exist in the Info.plist file in Macintosh OS X products. You can inspect Version information in the Finder as well as look for the bundle using CFBundleSignature and CFBundleIdentifier. (Bug #15307) #95405 * In diff and merge modes, P4Merge can now be refreshed. In diff mode, you can refresh and re-diff files without restarting the P4Merge window. In merge mode, if the merged result has been modified, a warning prompt is displayed, stating that, if you refresh, all edits will be lost. (Bug #10420) #93210 *, #99919 *, #99993 * P4Merge now detects if the charset does not match the files being merged, and displays a "Continue?" prompt. (Bug #20019, Bug #20973) Improvements made to the user interface: #95288 *, #95426 *, #95431 * In the Choose Files and Preferences Dialog, the "Enter" or "Return" keys now accept the highlighted choice. (Bug #17789, Bug #20056) #94526 *, #94706 * P4Merge now displays merge file titles based on context: if invoked standalone, it displays Left/Right, if invoked from P4V's Resolve dialog, it displays Source/Target or Yours/Theirs. (Bug #15063, Bug #17866, Bug #18506) #89587 * ESC key now closes the Choose Files and the Preferences dialogs on Windows. (Sir #18908) #87488 * P4Merge now correctly handles dragging of windows to secondary displays of different resolution and dynamic changes to screen resolution. (Bug #17330) #86957 * Save/Restore of window size and positions on multiple monitor systems are now remembered. (Bug #18151, Bug #18153, Bug #18216) ------------------------------------------------------------------------- Bugs fixed in 2006.1 #106096 * Scrollbars now adjust correctly when changing the font or tab width. (Bug #21178) #105513 * P4Merge could get into an endless loop and crash when scrolling horizontally using the scrollbar. (Bug #21068) #105439 * It is now possible to horizontally scroll to the end of lines that contained a lot of whitespace and tabs. Horizontal.scrollbar now adjusts correctly when changing tab width and font. (Bug #21178) #105210 * P4Merge now accepts the "System" character set in the command line. It is specified as "-C none". (Bug #19555) #104502 * Colors in P4Merge are now getting drawn correctly when scrolling. (Bug #21733) #104424 * Swooshes in the splitters in P4Merge and diff tools no longer dissapear when using the find or the goto dialog. (Bug #21598) #103058, 103319 * Corrected condition where custom editing of the merge results file could strip line endings and cause incorrect results to be saved. (Bug #21562, Bug #21563) #103037 * Copy/Cut text now placing selected text in clipboard correctly. (Bug #21162) #102244 * Merge results file names with Japanese characters can now be saved. (Bug #21406) #101534 * Line numbers and text now align and refresh correctly. (Bug #21310, Bug #21311) #101533 * Changing comparison methods or refreshing no longer scrolls to the top of the document. (Bug #21290) #101403 * Current diff now correctly centered on the display. (Bug #21265) #101374, #101583 * Line number background color now matches the current diff. (Bug #21285) #101117 *, #101239 * Swooshes between diffs and in merge pane now present smoothly. (Bug #21257) #101032 *, #101039 *, #101050 * P4Merge process now exits properly when user selects Cancel from the dialogs. (Bug #21250) #100973 * Line ending settings passed from the command line, P4V or P4Win are now correctly recognized. (Bug #21166) #96592 *, #98600 * P4Merge/Mac no longer crashes when running on unsupported versions of Mac OS X. It instead shows a message to the user and exits gracefully. (Bug #20691) #96190 * When opened from P4V, P4Merge sets the left pane to receive focus. It also no longer shows an empty window when resizing. (Bug #20471) #96068 * P4Merge now tries to continue even if it encounters parameters it does not understand. An error message is displayed if a parameter cannot be processed. In prior releases, P4Merge failed silently when called from P4V with invalid parameters. (Bug #20406) #95721 * In P4Merge you can no longer launch the Goto dialog while the Find dialog is displayed. (Bug #18904) #95685 * The preference dialog no longer appears in the Windows Task Bar. (Bug #19009) #95560 * P4Merge now tabs correctly to the Merge pane and focus is placed at the top of the pane. (Bug #19440) #95469 * On Macintosh, P4Merge no longer crashes on exit if a second P4Merge instance is started from the command line. (Bug #19298) #95457 * On Macintosh, P4Merge buttons are appropriately disabled in the P4Merge window after additional P4Merge windows are opened. (Bug #20148) #95426 *, #95431 * The Preferences Dialog, OK and Cancel buttons now display in the correct order for Microsoft Windows. (Bug # 20056) #95376 * P4Merge succesffully docks and moves the toolbar. (Bug #20427) #95249 * Tab order now behaves correctly on the Choose Files Dialog. (Bug #17217) #94808 * P4Merge no longer shows an extra blank line at the end of each file. (Bug #19426, Bug #20147) #94744 * P4Merge window title now displays correct file information. (Bug #20303) #94145 * Single Pane Diff mode supports using the Find Dialog. (Bug #19936) #93606 * P4Merge buttons correctly refresh after changing comparision methods. (Bug #20069) #92187 * P4Merge correctly saves the toolbar "visible/invisible" setting. (Bug #19439) #89618 * Command line merge recognizes encoding preferences. (Bug #19477) #89590 * Filenames display correctly in the P4Merge title bar. The revision displays after the file extension. (Bug #19080) ------------------------------------------------------------------------ New features in 2005.2 #85515 P4Merge now supports additional character sets including UTF-16. (Bug #18644) The new character sets are: Unicode: UTF-8 (BOM) UTF-16 with Little and Big Endian formats with or without a Byte-Order-Mark Cyrillic: ISO 8859-5 KOI8-R WinAnsi 1251 #84432 The edit buttons in the merge pane have tooltips. (Bug #15062) #83482 P4Merge now supports the following command line parameters: (Bug #17208) Options: The following three options are mutually exclusive: -db Ignore line ending and whitespace length differences -dw Ignore line ending and all whitespace differences -dl Ignore line ending differences -tw -le 'mac' 'win' 'unix' -C Unicode: 'utf8' 'utf8-bom' (UTF-8 with a Byte-Order Mark [BOM]) 'utf16' (UTF-16 with the default byte-order with a BOM) 'utf16-nobom' (UTF-16 default byte-order ) 'utf16be' (UTF-16 big-endian byte-order) 'utf16be-bom' (UTF-16 big-endian byte-order with BOM) 'utf16le' (UTF-16 little-endian byte-order) 'utf16le-bom' (UTF-16 little-endian byte-order with a BOM) Western European: 'iso8859-1' 'winansi' (Windows code page 1252) 'macosroman' 'iso8859-15' Japanese: 'shiftjis' 'eucjp' Cyrillic: 'iso8859-5' 'koi8-r' 'cp1251' (Windows code page 1251) #85982 The help window in P4Merge remembers its last position and size. (Bug #18285) #82736 P4Merge now saves the position of splitters and whether the base file is displayed. (Bug #17626): #82585 P4Merge now saves the preference of whether diff is in "single" or "double" pane mode. (Bug #17761) #82228 You can jump to a specific line using a "Go To" dialog. (Bug #7231) #82069 You can display line numbers in read-only fields. (Bug #7232) #81791 You can now search through the text in merge and diff modes. (Bug #7893) ------------------------------------------------------------------------- Bugs fixed since 2005.2/90475 (first release) #91648 P4Merge no longer crashes when started from the command line with relative file paths and the P4Merge application is already running. (Bug #19869) ------------------------------------------------------------------------- Bugs fixed in 2005.2 #120469 Using Input-Method Editing by starting with a selection would cause the output file to not match the text input. (Bug #24380) #92521 Extra CR added to files when saving with Windows Line-Endings and UTF-8. (Bug #19787) #91527 Extra CR added to files when saving with Windows Line-Endings. (Bug #19787) #90154 Command line merge recognizes encoding preferences. (Bug #19477) #89841, #89630 No longer crashes when opening files that have an exclusive read-lock due to being opened by another application. (Bug #19441) #85685 Current difference highlight is a bit darker so it's more visible on LCD screens. (Bug #17429) #86189 Merge would wrongly duplicate a common insert in some cases. (Bug #18844, #20765) #85633 Text remains readable regardless of the color settings. (Bug #18357) #84530 P4Merge now saves the "toolbar visible/invisible" setting. (Bug #18304) #84539 Clicking in the read-only fields no longer causes all the text fields to scroll to the left. (Bug #18324) #84336 Consolidated Show and Hide actions under one menu called View->Show/Hide. Changed Find menu to Search. (Bug #18539) #83788 P4Merge now displays the correct version message for the command line on Unix platforms. (Bug #18249) #82543 P4Merge error message labels now match the file labels in the "Choose Files" dialog. (Bug #17785) #80986 CTRL+2 no longer adds a 2 to your code if there is no difference to scroll to. (Bug #17558) #78256 Large files now handled correctly. (Bug #17270, Bug #17271) #77177 P4Merge now breaks up the undo history of edits after the file is saved.(Bug #17090) #77174, #79009, #79108, #78977 Fixed miscellaneous drawing problems such as displaying correct colors, refresh highlighting and horizontal scrolling. (Bug #17131, Bug #17430, Bug #17431) ------------------------------------------------------------------------------ New features in 2005.1 #70411 P4Merge can now be used from P4Win, making it a viable alternative to P4WinMerge and P4Diff. (job015149) #69096 P4Merge now runs as a standalone merge tool. P4Merge now accepts command-line parameters and can be used from non-Peforce applications. (job007888) #38483 Users can now use keyboard commands to move to the next or previous conflict/diff. (job008636) P4Merge now has a Preferences dialog, which includes the following: #74744 Character encoding preference in P4Merge allows user to select character encoding set to use with selected file. (job016550) #74367 Line ending preference for merge files allows users to select different line ending options when merging files using P4Merge: Windows (CRLF), Mac (CR), or Linux (LF). (job016401) #69998 Font preference. Users can now change font style and size used by P4Merge. (job16520) #69971 Tab spacing and whitespace preferences. Allows users to select the desired comparison method: recognizing or ignoring line endings and/or white space differences. (job014930) ------------------------------------------------------------------------- Bugs fixed in 2005.1 #74744 Can now diff workspace vs. head in P4Merge when file contains bullet (Option-8) characters on Mac OS X. (job010989) #70085 P4Merge now handles files up to 100,000 lines. (job010777) ------------------------------------------------------------------------- Bugs fixed since 2005.1/77237 (first release) #84188 Fixed bug where clicking the edit buttons could case memory instability. (job018504) #78985 The P4Merge window position and size is now saved. (job017262) #78256 A dialog has been added to alert the user of file size limitations when diffing or merging large files. (job017270, job017271) #78092 Giving a directory instead of a file path in the "Choose Files" dialog no longer crashes P4Merge. (job017261) #77175 The command line help output has been corrected. (job017066)