我正在尝试使用TFS API来回滚变更集。 我尝试使用所有Workspace.Rollback方法,但操作不执行任何操作(返回的GetStatus表示NoActionNeeded:true)。 有没有人设法让这个工作,并可以发送一个工作代码样本?
从方法的文档中: public GetStatus Rollback( string []路径, RecursionType递归, VersionSpec itemSpecVersion, VersionSpec版本来自, VersionSpec版本, LockLevel lockLevel, RollbackOptions选项, string [] itemAttributeFilters ) 我不明白VersionSpec itemSpecVersion参数的含义。 它说明了标识用户所引用项目的版本规范。'但那么它与参数versionFrom有何不同? 我应该作为itemAttributeFilters(最后一个参数)传递什么?
答案 0 :(得分:0)
您可以使用以下代码以编程方式回滚变更集:
TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("tfsCollectionURL"));
VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));
string workingDirectory = @"localPath";
string[] workigDnirectoryArr = new string[] { workingDirectory };
Workspace ws = vcs.GetWorkspace("$/serverPath");
int fromCS = 456; //changesetid
int toCS = 495; //changesetid
VersionSpec versionSpecFrom = new ChangesetVersionSpec(fromCS);
VersionSpec versionSpecTo = new ChangesetVersionSpec(toCS);
var status = ws.Rollback(workigDnirectoryArr, RecursionType.None,null, versionSpecFrom, versionSpecTo,LockLevel.None,RollbackOptions.None,null);