gpt4 book ai didi

c# - TF.exe 创建文件夹而不是分支

转载 作者:行者123 更新时间:2023-11-30 12:22:33 25 4
gpt4 key购买 nike

我在 C# 代码中使用 tf.exe 在 TFS 中创建新分支。这就是我所做的:

public static bool TFBranch(string projectPath, string originName, string branchName)
{
string branchedProject = projectPath + "\\" + branchName;

string projectToBranch = projectPath + "\\" + originName;

string path = Environment.ExpandEnvironmentVariables(@"branch " + projectToBranch + " " + branchedProject);
path = path.Replace("\\", "/");

return ExecuteProcess(path);
}

private static bool ExecuteProcess(string path)
{
MyProcess proc = new MyProcess();

var currentDirectory = WorkspaceHandler.GetLocalWorkspace();

var command = @"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe";

Directory.SetCurrentDirectory(currentDirectory);
proc.FileName = command;
proc.Arguments = path;

try
{
proc.Execute();
}
catch (Exception e)
{
_Logger.Error("Could not execute TF.exe. Exception: " + e.ToString());
return false;
}

return true;
}

除此之外,大多数情况下一切正常。我从一个已经包含分支的目录分支,所以新分支也包含一个分支。但有时 tf.exe 会创建文件夹,而不是分支。这是 tf.exe 的错误,还是我做错了什么?

例子:

这是分支命令的样子:

enter image description here

enter image description here

-- 编辑 --

这是我手动操作的方法:

  1. 我使用菜单分支Templates/BranchSource/Folder/Main:

enter image description here

  1. 在对话框中我定义了“目标分支名称”:

enter image description here

  1. 结果是我期望得到的:

enter image description here

这与我使用代码执行此操作时得到的结果相同。唯一的区别是代码有时会创建一个文件夹。

最佳答案

tf.exe 无法做到这一点,但您可以在创建分支后使用强大工具中的 tfpt.exe 来做到这一点。 (或从 Visual Studio 中的源代码管理资源管理器):

tfpt branches /convertToBranch

另见:

关于c# - TF.exe 创建文件夹而不是分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40760183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com