diff --git a/P4VS/P4ScmProvider/P4ScmProvider.cs b/P4VS/P4ScmProvider/P4ScmProvider.cs index eb6924e..ad8c4d4 100644 --- a/P4VS/P4ScmProvider/P4ScmProvider.cs +++ b/P4VS/P4ScmProvider/P4ScmProvider.cs @@ -5630,7 +5630,32 @@ public void LaunchP4V(string Path) charset = " -C " + charset; } - if (versionnum >= 2010.2) + // P4V deprecated options p4v -s and p4v -t in 2024.1 release. + // These options needs to be replaced by p4vc -workspacewindow -s / -t + if (versionnum >= 2024.1) + { + string p4vcPath = null; + if (Preferences.LocalSettings.GetBool("P4VC_path", true)) + { + // use configured application + p4vcPath = P4VCPath(); + if (string.IsNullOrEmpty(p4vcPath) || !File.Exists(p4vcPath)) + { + MessageBox.Show(Resources.P4ScmProvider_CannotFindP4VError, Resources.P4VS, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + + if (!string.IsNullOrEmpty(p4vcPath)) + { + // Need to reset path from p4v.exe to p4vc.bat to launch P4V. + launchP4V.StartInfo.FileName = Preferences.LocalSettings["P4VC_path"].ToString(); + launchP4V.StartInfo.Arguments = " -p " + Connection.Port + " -u " + Connection.User + " -c " + Connection.Workspace + charset + " workspacewindow -s \"" + Path + "\""; + launchP4V.StartInfo.UseShellExecute = false; + } + } + else if (versionnum >= 2010.2) { launchP4V.StartInfo.Arguments = " -p " + Connection.Port + " -u " + Connection.User + " -c " + Connection.Workspace + charset + " -s \"" + Path + "\""; } @@ -6080,6 +6105,7 @@ public void Dispose() Connection.Repository.Connection.TextResultsReceived -= CommandLine.TextResultsCallbackFn; Connection.Repository.Connection.TaggedOutputReceived -= CommandLine.TaggedOutputCallbackFn; Connection.Repository.Connection.CommandEcho -= CommandLine.CommandEchoCallbackFn; + Connection.Repository.Connection.ResponseTimeEcho -= CommandLine.CommandEchoCallbackFn; Connection.Repository.Dispose(); Connection.Repository = null; diff --git a/P4VS/P4VsProviderService.cs b/P4VS/P4VsProviderService.cs index 3bb62fa..1b33951 100644 --- a/P4VS/P4VsProviderService.cs +++ b/P4VS/P4VsProviderService.cs @@ -2131,8 +2131,8 @@ public void OnAfterRemoveFilesEx(int cProjects, int cFiles, IVsProject[] rgpProj continue; } - // if the file is not in the workspace, continue - if (!file.StartsWith(ScmProvider.Connection.WorkspaceRoot, StringComparison.OrdinalIgnoreCase)) + // if the file is not in the workspace and workspace root is not set to "null", continue + if ( !ScmProvider.Connection.WorkspaceRoot.Equals("null") && !file.StartsWith(ScmProvider.Connection.WorkspaceRoot, StringComparison.OrdinalIgnoreCase)) { continue; } diff --git a/RELEASENOTES.txt b/RELEASENOTES.txt index 075185c..a9a4fe3 100644 --- a/RELEASENOTES.txt +++ b/RELEASENOTES.txt @@ -151,7 +151,17 @@ Key to symbols used in change notes below. * -- requires new P4VS ** -- requires new p4d server program +-------------------------------------------------------------------------- + +Bugs fixed in 2023.2 Patch 1 (2023.2/2600533) (2024/05/21) + #2598068,2598127 (Job #114294) * + Fixed the issue where user was not able to mark controlled file + for delete in Perforce when client root is set to 'null'. + #2590799,2589188,2589189 (Job #119483) * + Added changes to make launch of P4V via P4VS to be compatible + with latest P4V release. + -------------------------------------------------------------------------- New Functionality in 2023.2 (2023.2/2562238) (2024/02/26)