Undo checkout TFS

匿名 (未验证) 提交于 2019-12-03 01:22:02

问题:

Is there any way to undo a checkout programmatically in C#?

The files get checked out programmatically, but if the code does not change on execution, I want the checkout to be undone.

public static void CheckOutFromTFS(string fileName) {     var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);     if (workspaceInfo == null)         return;      var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri);     var workspace = workspaceInfo.GetWorkspace(server);     workspace.PendEdit(fileName); } 

The above code is my checkout code.

回答1:

You can use the Workspace.Undo method to undo the checkout.

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.workspace.undo.aspx



回答2:

I've done this task in following way:

private const string ConstTfsServerUri = @"http://YourTfsAddress:8080/tfs/";  #region Undo     public async Task<bool> UndoPendingChangesAsync(string path)     {         return await Task.Run(() => UndoPendingChanges(path));     }      private bool UndoPendingChanges(string path)     {         using (var tfs = TeamFoundationServerFactory.GetServer(ConstTfsServerUri))         {             tfs.Authenticate();             // Create a new workspace for the currently authenticated user.                int res = 0;             try             {                 var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(ConstDefaultFlowsTfsPath);                 var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri);                 Workspace workspace = workspaceInfo.GetWorkspace(server);                 res = workspace.Undo(path, RecursionType.Full);              }             catch (Exception ex)             {                 UIHelper.Instance.RunOnUiThread(() => MessageBox.Show(ex.Message));             }              return res == 1;//undo has been done succesfully         }     } 


文章来源: Undo checkout TFS
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!