Release Notes for P4SCC, the Perforce SCC Plug-in Release 2007.3 GA March 18, 2008 Introduction P4SCC, the Perforce SCC Plug-in, is an end-user integration product, designed for software developers who use compatible IDEs. P4SCC enables you to perform Perforce operations from within an IDE that supports the Microsoft SCC API. P4SCC is not intended to replace other Perforce client applications, but to supplement them. This version of P4SCC has been tested with: * Microsoft Visual Studio .NET 2003 (7.1), 2005 (8.0) and 2008 (9.0) * Microsoft Visual Basic 6.0 * Microsoft Visual C++ 6.0 Other IDEs that comply with the Microsoft SCC API might also work with P4SCC, but are not tested, certified or supported by Perforce. P4SCC works with a Perforce Server at Release 2002.2 or higher. P4SCC Release 2007.3 is documented in the "Using IDE Plug-ins" guide. P4SCC works on Windows 2000, Windows XP, Windows 2003 and Vista. Installation/upgrade Before you upgrade To make sure that passwords are not stored in clear text, reset your password by issuing the p4 passwd command before upgrading the SCC plugin. To install P4SCC: 1. Launch the Perforce Windows installer. 2. Choose User Installation or Administrator - Custom. 3. On the Perforce Component Selections pane, check "SCC plug-in (P4SCC)". To uninstall P4SCC, launch the Perforce Windows installer, choose Uninstall, and check "SCC plug-in (P4SCC)". After you upgrade * Visual Studio .NET 7.0/7.1 If you have upgraded from P4SCC 2003.2: - Open: The first time you open a solution, a Checkout dialog is displayed, asking whether you want to check out the solution and its projects. To avoid being prompted for checkout every time you open the solution, click Check Out, then revert the solution and project files (right-click the files and choose Undo Checkout). (This prompt is a side effect of the SCC API.) - Open from Source Control: The first time you open a solution from Source Control, a Source Control dialog is displayed, saying that "The source control for this project do not match the bindings reported by your source control provider." Click OK. (This spurious prompt is a side effect of the SCC API.) -------------------------------------------------------------------------- Known Limitations The first time you open a newly branched VS .NET solution, open it from source control with (File->Source Control->Open From Source Control...). If you open a newly branched solution in any other way, (for example, by using File->Open), VS .NET may require you to perform additional steps, including re-binding the solution. P4SCC does not support: * P4CONFIG or Perforce configuration files * creating branches, labels or jobs * editing branches or labels * performing integrations * VS .NET Web projects (see Tech Note 64 for a workaround) If you want to store projects in different workspaces or servers, you must: * Enable the "Show the Perforce Connection dialog" option, To specify the server settings when adding a project, highlight the project and choose File -> Source Control -> Add Selected Projects to Source Control. The Open Connection dialog is displayed. Enter settings for the desired workspace and server and click OK. * Version the .sln file outside of VS .NET. Do *not* choose Add Solution to Source Control. * Open the solution for edit outside of VS .NET whenever you want to add or delete projects. If you forget, VS .NET displays a "write-protect" error when you try to save the solution file. Also of note -- if you check in files that reside in different workspaces or servers, P4SCC displays separate Submit dialogs for each server. Visual Studio Check Out options: In Visual Studio there are options to set how a file is checked out on edit: * (Tools> Options...> Source Control> Environment> On Edit: Check out automatically) * (Tools> Options...> Source Control> Environment> On Edit: Prompt for Check out) If you are using a workspace with the option setting "allwrite" these two check out options will not work. You can still check out files via File > Source Control, or use a workspace with the option setting "noallwrite". -------------------------------------------------------------------------- Known Problems (Bug #14194) Error adding files already under source control to project: "chmod: : The system cannot find the file specified." Workaround: Quit and relaunch the IDE, open the project, and revert the file, then retry. (Bug #19053) Opening project fails after switching to unicode mode when using .NET. Workaround: Use the Perforce client (P4V, P4Win or the P4 Command Line ) to sync project files into the workspace outside of .NET. Then, from within .NET, open the project via File->Open... (Bug #14942) P4SCC.initialization process fails with "Unspecified error" message due to multiple QT dll conflicts found in the system path. Workarounds: Place the Perforce installation directory first in the system path or rename or move the non-Perforce QT dlls. -------------------------------------------------------------------------- Bugs fixed since 2007.3/144309 (Beta) #146806 P4SCC no longer crashes if the solution is closed while file status is updating. Additionally, P4SCC no longer crashes when closing the advanced settings dialog. (Bug #28094) ------------------------------------------------------------------------- Bugs fixed in 2007.3 #143637 There were situations where the IDE could appear to be unresponsive because a P4SCC plugin window could be hidden behind it. Now, all of the plugin windows should be on top of the IDE. To further prevent this situation, the plugin windows can no longer be minimized. (Bug #27944) #135244 P4SCC no longer crashes if IDE calls GetProjPath with an empty string for lpLocalPath and bAllowChangePath set to false. (Bug #25830) ------------------------------------------------------------------------- New functionality in 2007.2 #122404 The Advanced Checkout dialog now supports the new utf16 file type and the file type modifier '+S' enhancements available with the 7.2 server. The filetype modifier '+S' has now been extended to include an optional numeric value that informs the server of the number of file revisions to keep. (Bug #24555) Bugs fixed since 2007.2/123611 (Beta) #127335 Translation files (.qm) are now loaded from the same directory as the p4scc.dll. (Bug #23812) ------------------------------------------------------------------------- Bugs fixed since 2007.1/116736 (GA) #120679 Preferences XML files are now created and saved in the correct directory. (Bug #24201) #119258 To help with performance, the "Use distinct file icon for modified files" option is now automatically turned off by default. (Bug #24127) #117820 Shortcut(accelerator) keys (i.e. CTRL-D) now correctly work on all dialogs. (Bug #23815) #117626 Errors no longer occur when you retrieve the latest revisions of a solution, project or file that is checked out and its path contains spaces. (Bug #23868) ------------------------------------------------------------------------- Bugs fixed since 2007.1/113813 (initial Beta release) #108696 Error when checking out latest file no longer occurs. (Bug #22298) ------------------------------------------------------------------------- Bugs fixed in 2007.1 #102552 Tab in a multi-line edit field now jumps to the next control. (Bug #13059) #100196 P4SCC now displays errors in a dialog if the IDE has not provided a status area. (Bug #20674, #20701) #100189 P4SCC warns if there is no history associated with a file if a user requests the revision history. (Bug #20469) #99862 P4SCC now displays trigger error messages in the IDE status pane. (Bug #7846) #96145 P4SCC properly parents its dialogs to the IDE, preventing dialogs from being displayed behind the IDE. (Bug #16973) -------------------------------------------------------------------------- Bugs fixed since 2006.1/101890 (initial GA release) #102464 P4SCC failed to schedule files for resolve when user tried to get the latest revision (Bug #21482) -------------------------------------------------------------------------- Bugs fixed since 2006.1/98659 (initial beta release) #100034 P4SCC thought files open for delete were not under source control. (Bug #21061) -------------------------------------------------------------------------- Bugs fixed in 2006.1 #93229 Revision history is called only once for files not recently updated. (Bug #15438) #92746 The 'Open from Source Control' dialog now allows the choice of a file or folder. (Bug #18910) #92692 The 'Open from Source Control' dialog is now restricted to the client view. (Bug #16268) #92691 Advanced checkout now enables you to change file types and select changelists. (Bug #14981 ,Bug #17805) #91654 P4SCC works properly with the Microsoft Embedded Visual C++ 4.0 'Prompt to add files when inserted' feature. (Bug #18731) #91442 New Preferences option: displays a warning dialog if a file is checked out by another user. (Bug #2851, Bug #20224) #90617 An error message is displayed if P4SCC fails to connect to the server. This message is only displayed if there is no error message displayed by the IDE. (Bug #17169) #90140 P4SCC successfully navigates the path for Perforce commands when the path is not under the current client root. (Bug #15210, Bug #18204) #89954 The "Manage Changelists" button is now displayed on all Submit forms. (Bug #16466) #89953 Spec printing now works identically to P4V. (Bug #18286) #89677 P4SCC checks files in the Submit dialog that are added using Check In (recursive) as a reminder to submit recently-added files. (Bug #15651) #89676 P4SCC syncs the .vspscc file whenever it syncs the .vcproj file. Visual Studio does not automatically sync the files together. (Bug #14993) -------------------------------------------------------------------------- Bugs fixed since 2005.2/90188 #90084 P4SCC will no longer forget about files with multiple uppercase letters in the name. (Bug #18318) #89424 The lovely yellow Perforce icon now shows in the preferences dialog (Bug #19460) #89353 Diff... dialog now comes up when selected from the context menu from SCC Perforce dialogs. (Bug #19338) #89345 Add force sync to Advanced Get dialog (Bug #19457) Bugs fixed in 2005.2 #84603 The advanced get dialog now appears when the user hits the advanced option button in the IDE. (Bug #17715) #83458 P4SCC will use passwords in the environment as long as the server security level permits it. (Bug #16508) #83397 Added an option to lock files on checkout. (Bug #16201) #83395 P4SCC now allows diffing binary files when using the Perforce diff tool. (Bug #17802) #83281 Users can launch either P4V or P4Win using the .exe command in their IDE. (Bug #13473) #82404 A confirmation dialog is now displayed before reverting files in VB 6.0. (Bug #17508) #82346 The log file is now properly user configurable. (Bug #17029) #82237. .frm/.frx and.dwx/.dwr files are properly checked out together. (Bug #13051) #82236 The P4SCC.dll no longer displays dialogs for client root related errors. (Bug #17714) -------------------------------------------------------------------------- New or improved features in 2005.1 * Support for Unicode Servers It is now possible to use P4SCC.DLL with unicode enabled servers. See Tech. Note 66 for more information about supported character sets. * Uses new P4Merge Merge/Diff tool The default merge/diff tool is now the new P4Merge application. It is still possible to use a third party merge/diff application. * Redesigned Submit Dialog Submit dialog has been redesigned to make the process of submitting files easier. When submitting a set of files, only the pending changelists containing those files are shown. To make it easier to submit a specific selection of files, only those files selected in the IDE are initially checked in the submit dialogs that are shown. -------------------------------------------------------------------------- Bugs fixed since 2004.2/76641 #73308 Fixed crash bug when attempting to view revision history for a file that is not in source control. (Bug #16033, #16035) -------------------------------------------------------------------------- New or improved features in 2004.2 * Revision Graph The revision graph component provides an overview of file lineage. Revision graph displays a file history graph that identifies all file branch and merge points as well as adds, edits, and deletes. Details on file change history, integration activity, and associated labels are available by selecting any revision object. File diffing is enabled within the revision graph by selecting any two file revision objects. Fast zooming enables easy navigation and a quick, global view of file change history, even those with extensive branching. * File History Enhancements The file revision history view now has a bottom pane that contains more detailed information on the revision select in the revision history. The new pane includes information on integrations and labels associated with the selected revision. * Time-lapse view The time-lapse view provides graphical representation of the evolution of the file. It shows what changes were introduced in which revision and all the details associated with those modifications to the file. * Improved Preferences Dialog The preferences dialog has been expanded to support new features. * Supports P4MERGE, P4DIFF or External Merge/Diff tools With 2004.2 version of P4SCC.DLL you have a choice to use build-in diff/merge tool or your favorite third party diff/merge application. * Supports version 1.2 of SCC API. * Support for global connection settings It is now possible to have all new projects use connection settings determined by your Perforce environment settings. -------------------------------------------------------------------------- Bugs fixed since 2004.2/66066 (first beta release) #69167, #69186, #69465 Fixed bugs where in certain cases the password was not being saved correctly. (Bug #15038, #15540) #68976 Reverted to old way of setting SCC project name. This was changed in 2004.2 to address some problems, but the cure proved to be worse than the original problem. (Bug #15042, #15434) #66504 Increased initial size of submit dialog. (Bug #11951) #66834 Fixed hang/crash bug when exiting Visual Studio. (Bug #14955) #68925 Plug-in would fail to open projects from source control if directory did not exist. (Bug #15299) #68976 Changed the way SCC ProjectName is set. This change fixes a compatibility problem between version 2003.2 of P4SCC and this version. It also eliminates the need to update the bindings when branching projects. (Bug #15042) #68983 Allowed diffing of binary files by external diff tools. (Bug #15277) #69112 Fixed bug in handling of password errors. Bug resulted in various incorrect behaviors and messages when an incorrect password was supplied. (Bug #15479, #15523) #69141, #69303 Plug-in now uses file selection made in the IDE to set checkboxes in submit dialog, rather than checking all files. (Bug #13225) #69182 Suppress display of "No such file" and "Files up to date" messages. (Bug #4099) #69186, #69465 Fixed bug where plug-in failed to ask if you want to save your password, when working with a 2003.2 or earlier server. (Bug #15038, #15490) Bugs fixed since 2003.2/56329 #57848, #58016 Plug-in could show a read-only submit form due to incorrect case-sensitivity when comparing client names. (Bug #14102) #58037 Incorrect handling of case-sensitivity of file paths caused failure to open projects. (Bug #13927) #62769 Fixed several problems caused by the way server bindings were being saved. As part of this change, the plug-in now creates the MSSCCPRJ.SCC files used by IDEs supporting the SCC 1.2 API. These files will be created in the project directories, and updated when various operations are performed on project files. (Bug #14586, 14629) #62916 Fixed problem where after dragging files between pending changes, the display was not updated correctly and would thereafter behave incorrectly. (Bug #14428) #64746 Fixed bug with accelerator keys not working. (Bug #14821) #66053 Fixed bug where attempting to submit files with null-rooted clients caused a crash. (Bug#15010) -------------------------------------------------------------------------- New or improved features in 2003.2/56329 * Sync to a label, change, #rev, date and client * Access to all pending changelists and support for numbered changelists * Support for resolve operations * Expanded diff support (through revision history) * Ability to attach jobs to pending changelists * Enhanced revision history display * Per-project Perforce settings instead of global settings * Improved handling of server messages * Improved Submit form Known Limitations P4SCC does not support: * P4MERGE, P4DIFF or external merge programs * P4CHARSET or internationalized Perforce servers * P4CONFIG or Perforce configuration files * creating branches, labels or jobs * editing branches or labels * performing integrations * VS .NET Web projects (see Tech Note 64 for a workaround) * Changing name or location of log file -------------------------------------------------------------------------- Bugs fixed since 2003.2/51929 (first beta release). #52310 The plugin might attempt to sync the entire depot when trying to sync files that are up to date. (Bug #13091) #52674 Would hang when attempting to diff a file that doesn't exist on the client. (Bug #13090) #52783 Empty gray window left behind after submitting files. (Bug #12180) #52789 Hidden windows added to task bar. (Bug #13052,13140,13185,) #53003 Visual Basic 6.0 file pairs not handled as pairs. Previous versions of p4scc have handled these files as pairs. (Bug #13051) #53829 The plugin corrupted the "SCC provider" setting in the project file by adding extra double quotes or other characters. (Bug #13397) #53842 The plugin failed to correct for upper-casing of file names by Visual Studio. VS case alterations caused problems on case-sensitive servers. (Bug #12560) #53844, #53916 The password is now stored encrypted. (Bug #13072) #54302 Not possible to view a submitted change from revision history. (Bug #13432) #54310 The plugin created numbered changelists with no files when jobs are attached to the default change. (Bug #13431) #56121, #56218, #56329 The plugin wouldn't remember passwords correctly (Bug #13527)