Release Notes for P4SCC, the Perforce SCC Plug-in Version 2012.1 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), 2008 (9.0), and 2010 (10.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 2006.2 or higher. P4SCC Release 2012.1 is documented in the "Using IDE Plug-ins" guide. Supported Platforms * Windows XP, Vista, 7, 2003, 2008 Intel (x86, x86_64) -------------------------------------------------------------------------- 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. 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 might 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 KB Article 64 for a workaround) http://kbmain.perforce.com/article/64 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. * Manage 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. 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 To specify how a file is checked out on edit, Visual Studio provides the following options: * (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 "allwrite" option enabled, these two check out options do not work. You can still check out files using File > Source Control, or use a workspace with the option setting "noallwrite". Possible failure with rename of form If you rename a Windows form in Solution Explorer when the file is checked into MSSCCI source control provider, the IDE performs an automatic checkout. This is a known issue with Visual Studio: http://support.microsoft.com/kb/968407 Workaround: 1. Open the form designer for the form to be renamed (double- click the form in Solution Explorer). 2. In the form designer, select the form and go to the PropertiesWindow 3. Change the (Name) property of the form. This action checks out all the necessary files and renames all the references. 4. Check in the changes. 5. Rename the form file in SolutionExplorer (use the same name as in step 1) and accept the rename propagation. To direct Perforce to ignore a file, select the file and choose ->File -> Source Control -> Exclude from Source Control. The file is not deleted from the depot (if it is in the depot) or from the local disk, but is no longer included in operations performance by P4SCC. To delete a file from the Perforce depot: 1. Context-click the file and choose Delete. 2. When prompted, choose "Delete the item(s) locally and in the source control store". The file is removed from the local disk and no longer listed in the Solution Explorer. The pending [default?] changelist contains the deleted file plus modified project and source control file(s). 3. In Visual Studio .NET, mark the deleted file for submit. 4. Submit the pending changelist. P4CHARSET and unicode-enabled Perforce servers In case of a unicode-enabled Perforce server, the P4CHARSET is what controls the translation of unicode files before they are stored in the Perforce database. Currently, Perforce SCC Plug-In does not automatically update the value of P4CHARSET in MSSCCPRJ.SCC file every time this value changes. To change P4CHARSET setting, you either need to manually edit MSSCCPRJ.SCC file or remove MSSCCPRJ.SCC file from the disk. If this file has been removed, you must use .NET ...Re-Bind feature to recreate it in your workspace. please see KB article 1296 for additional information: http://kbmain.perforce.com/article/1296 -------------------------------------------------------------------------- Known Problems (Bug #29755) "File to be deleted during rename" is not checked in the Submit dialog by default. (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, revert the file, then retry. (Bug #19053) Opening project using .NET fails after switching server to Unicode mode. Workaround: Use another Perforce client application (P4V or the P4 Command Line Client) to sync project files to the workspace. Then, from within .NET, open the project using File->Open... -------------------------------------------------------------------------- Bugs fixed in 2012.1 #557642 (Bug #61668) P4SCC will no longer fault on Windows XP due to usage of thread local storage. #557604 (Bug #59802) Removed support for ZeroConf. -------------------------------------------------------------------------- New functionality in 2010.2 #265100 P4SCC is now in a separate installer, p4sccinst.exe. The first time you upgrade P4V and its components from 2010.1 or earlier, P4SCC will be removed. To install P4SCC 2010.2, use this new P4SCC specific installer. -------------------------------------------------------------------------- Bugs fixed in 2010.1 #250869 (Bug #39104) Visual Studio no longer hangs when selecting "Compare..." on a file that has been checked out. -------------------------------------------------------------------------- New functionality in 2009.2 #213183 Logging functionality is more concise by default, not showing output for file operations. Selecting "Show p4 reporting commands" in preferences will increase the output to show fstat and file operations. ------------------------------------------------------------------------- Bugs fixed in 2009.2 #235357 (Bug #35872) Fixed bug where p4scc could sometimes crash when opening projects. Fixed problem with SccGetProjPath when a folder was selected in the dialog. Added code to detect when SccOpenProject is followed by SccOpenProject or SccUninitialize without SccCloseProject being called first. If SccCloseProject should have been called, a message is logged and SccCloseProject is called before proceeding. ------------------------------------------------------------------------- New functionality in 2009.1 #194325 (Bug #14942) The Qt dlls provided with P4SCC have been renamed to avoid conflicts with other installed programs that use the Qt libraries. -------------------------------------------------------------------------- Bugs fixed in 2009.1 #205487 (Bug #34484) P4SCC no longer crashes when changing mode of file history view. #205044 (Bug #34342, #34410) Restored missing find command in time lapse view, edit menu items in revision graph. #204979 (Bug #34378) P4SCC no longer fails to unload. -------------------------------------------------------------------------- Bugs fixed in 2008.2 #192902 (Bug #31248) Visual Studio no longer hangs during loading when opening a solution via File -> Source Control -> Open from Source Control. #186884 (Bug #32330, #32505) Visual Studio no longer returns a fatal error when sync leaves file unchanged after selecting "Get latest version" for a file that is currently checked-out. In addition, Re-binding no longer causes an error which causes it to become unresponsive. #176716 (Bug #31249) Folders and files with special characters no longer generate an error when added to source control. #171412 (Bug #30689, #31088) Visual Studio no longer hangs when getting error dialog in Submit window. #170477, 157484 (Bug #24085) The Submit dialog now pre-selects the proper combo item, as specified in the current client workspace. #162740 (Bug #26106) Localized strings are now displayed correctly in the Advanced Checkout dialog. ------------------------------------------------------------------------- New functionality in 2008.1 #149085 (Bug #14042, 23471) New support for MS SCC API v1.3 for P4SCC plugin. Adds supports for Rename within an IDE. -------------------------------------------------------------------------- Bugs fixed in 2008.1 #158298 (Bug #29955) Visual Studio no longer hangs after the "Files are identical" dialog is displayed when diffing files. #157460 (Bug #29752, 29754, 29756) Rename has been streamlined by removing the Rename/Move dialog, because this dialog is displayed too late to alter the filenames or location. Renamed and deleted files now appear in the default changelist. #157318 (Bug #29751) P4SCC no longer crashes when attempting to rename a file without a pending changelist available in the combo box. #156155 (Bug #29400) Fixed tab order and label names for File Properties dialog. #155258 (Bug #29403) Diff Against Previous/Have revision context menu items are now correctly displayed. #155258 (Bug #29401) Diff Against shortcut key (CTRL+Shift+D) now works. #155180 (Bug #25440) Inactive help menu and button are no longer displayed in Revision Graph and Time-lapse View windows. #154618 (Bug #30292) You can now navigate the Open from Source Control dialog using only the keyboard. To enable the OK button, you must tab out of the tree window of the dialog. #154442 (Bug #28945) P4SCC no longer crashes Visual Studio 2005 if you open a solution that contains too many projects. -------------------------------------------------------------------------- Bugs fixed in 2007.3 #154278 (Bug #28794) Perforce SCC plug-in (2007.3) will no longer crash when plug-in is reinitialized. #146806 (Bug #28094) 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. #143637 (Bug #27944) The IDE no longer appears unresponsive because a P4SCC plugin window is hidden behind it. Now all of the plugin windows are on top of the IDE and the plugin windows can no longer be minimized. #135244 (Bug #25830) P4SCC no longer crashes if the IDE calls GetProjPath with an empty string for lpLocalPath and bAllowChangePath set to false. #130708 (Bug #23478) Open from Source Control connection dialog no longer displays incorrect error message when browsing for a user. ------------------------------------------------------------------------- New functionality in 2007.2 #122404 (Bug #24555) 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. ------------------------------------------------------------------------- Bugs fixed in 2007.2 #127335 (Bug #23812) Translation files (.qm) are now loaded from the same directory as the p4scc.dll. ------------------------------------------------------------------------- Bugs fixed in 2007.1 #120679 (Bug #24201) Preferences XML files are now created and saved in the correct directory. #119258 (Bug #24127) To help with performance, the "Use distinct file icon for modified files" option is now automatically turned off by default. #117820 (Bug #23815) Shortcut(accelerator) keys (i.e. CTRL-D) now correctly work on all dialogs. #117626 (Bug #23868) 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. #108696 (Bug #22298) Error when checking out latest file no longer occurs. #102552 (Bug #13059) Tab in a multi-line edit field now jumps to the next control. #100196 (Bug #20674, #20701) P4SCC now displays errors in a dialog if the IDE has not provided a status area. #100189 (Bug #20469) P4SCC warns if there is no history associated with a file if a user requests the revision history. #99862 (Bug #7846) P4SCC now displays trigger error messages in the IDE status pane. #96145 (Bug #16973) P4SCC properly parents its dialogs to the IDE, preventing dialogs from being displayed behind the IDE. -------------------------------------------------------------------------- Bugs fixed in 2006.1 #102464 (Bug #21482) P4SCC failed to schedule files for resolve when user tried to get the latest revision #100034 (Bug #21061) P4SCC thought files open for delete were not under source control. #93229 (Bug #15438) Revision history is called only once for files not recently updated. #92746 (Bug #18910) The 'Open from Source Control' dialog now allows the choice of a file or folder. #92692 (Bug #16268) The 'Open from Source Control' dialog is now restricted to the client view. #92691 (Bug #14981 ,#17805) Advanced checkout now enables you to change file types and select changelists. #91654 (Bug #18731) P4SCC works properly with the Microsoft Embedded Visual C++ 4.0 'Prompt to add files when inserted' feature. #91442 (Bug #2851, #20224) New Preferences option: displays a warning dialog if a file is checked out by another user. #90617 (Bug #17169) 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. #90140 (Bug #15210, Bug #18204) P4SCC successfully navigates the path for Perforce commands when the path is not under the current client root. #89954 (Bug #16466) The "Manage Changelists" button is now displayed on all Submit forms. #89953 (Bug #18286) Spec printing now works identically to P4V. #89677 (Bug #15651) P4SCC checks files in the Submit dialog that are added using Check In (recursive) as a reminder to submit recently-added files. #89676 (Bug #14993) P4SCC syncs the .vspscc file whenever it syncs the .vcproj file. Visual Studio does not automatically sync the files together. -------------------------------------------------------------------------- Bugs fixed in 2005.2 #90084 (Bug #18318) P4SCC will no longer forget about files with multiple uppercase letters in the name. #89424 (Bug #19460) The lovely yellow Perforce icon now shows in the preferences dialog #89353 (Bug #19338) Diff... dialog now comes up when selected from the context menu from SCC Perforce dialogs. #89345 (Bug #19457) Add force sync to Advanced Get dialog #84603 (Bug #17715) The advanced get dialog now appears when the user hits the advanced option button in the IDE. #83458 (Bug #16508) P4SCC will use passwords in the environment as long as the server security level permits it. #83397 (Bug #16201) Added an option to lock files on checkout. #83395 (Bug #17802) P4SCC now allows diffing binary files when using the Perforce diff tool. #83281 (Bug #13473) Users can launch either P4V or P4Win using the .exe command in their IDE. #82404 (Bug #17508) A confirmation dialog is now displayed before reverting files in VB 6.0. #82346 (Bug #17029) The log file is now properly user configurable. #82237 (Bug #13051) .frm/.frx and.dwx/.dwr files are properly checked out together. #82236 (Bug #17714) The P4SCC.dll no longer displays dialogs for client root related errors. -------------------------------------------------------------------------- New functionality 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. -------------------------------------------------------------------------- New functionality 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 in 2004.2 #73308 (Bug #16033, #16035) Fixed crash bug when attempting to view revision history for a file that is not in source control. #69167, #69186, #69465 (Bug #15038, #15540) Fixed bugs where in certain cases the password was not being saved correctly. #68976 (Bug #15042, #15434) 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. #66504 (Bug #11951) Increased initial size of submit dialog. #66834 (Bug #14955) Fixed hang/crash bug when exiting Visual Studio. #68925 (Bug #15299) Plug-in would fail to open projects from source control if directory did not exist. #68976 (Bug #15042) 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. #68983 (Bug #15277) Allowed diffing of binary files by external diff tools. #69112 (Bug #15479, #15523) Fixed bug in handling of password errors. Bug resulted in various incorrect behaviors and messages when an incorrect password was supplied. #69141, #69303 (Bug #13225) Plug-in now uses file selection made in the IDE to set checkboxes in submit dialog, rather than checking all files. #69182 (Bug #4099) Suppress display of "No such file" and "Files up to date" messages. #69186, #69465 (Bug #15038, #15490) Fixed bug where plug-in failed to ask if you want to save your password, when working with a 2003.2 or earlier server. -------------------------------------------------------------------------- New functionality in 2003.2 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 -------------------------------------------------------------------------- Bugs fixed in 2003.2 #57848, #58016 (Bug #14102) Plug-in could show a read-only submit form due to incorrect case-sensitivity when comparing client names. #58037 (Bug #13927) Incorrect handling of case-sensitivity of file paths caused failure to open projects. (Bug #13927) #62769 (Bug #14586, 14629) 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. #62916 (Bug #14428) Fixed problem where after dragging files between pending changes, the display was not updated correctly and would thereafter behave incorrectly. #64746 (Bug #14821) Fixed bug with accelerator keys not working. #66053 (Bug#15010) Fixed bug where attempting to submit files with null-rooted clients caused a crash. #52310 (Bug #13091) The plugin might attempt to sync the entire depot when trying to sync files that are up to date. #52674 (Bug #13090) Would hang when attempting to diff a file that doesn't exist on the client. #52783 (Bug #12180) Empty gray window left behind after submitting files. #52789 (Bug #13052, 13140, 13185) Hidden windows added to task bar. #53003 (Bug #13051) Visual Basic 6.0 file pairs not handled as pairs. Previous versions of p4scc have handled these files as pairs. #53829 (Bug #13397) The plugin corrupted the "SCC provider" setting in the project file by adding extra double quotes or other characters. #53842 (Bug #12560) The plugin failed to correct for upper-casing of file names by Visual Studio. VS case alterations caused problems on case- sensitive servers. #53844, #53916 (Bug #13072) The password is now stored encrypted. #54302 (Bug #13432) Not possible to view a submitted change from revision history. #54310 (Bug #13431) The plugin created numbered changelists with no files when jobs are attached to the default change. #56121, #56218, #56329 (Bug #13527) The plugin wouldn't remember passwords correctly