Estoy intentando tirar de la última versión del código fuente de TFS mediante programación utilizando el SDK, y lo que he hecho alguna manera no funciona:¿Cómo se obtiene la última versión del código fuente con Team Foundation Server SDK?
string workspaceName = "MyWorkspace";
string projectPath = "/TestApp";
string workingDirectory = "C:\Projects\Test\TestApp";
VersionControlServer sourceControl; // actually instantiated before this method...
Workspace[] workspaces = sourceControl.QueryWorkspaces(workspaceName, sourceControl.AuthenticatedUser, Workstation.Current.Name);
if (workspaces.Length > 0)
{
sourceControl.DeleteWorkspace(workspaceName, sourceControl.AuthenticatedUser);
}
Workspace workspace = sourceControl.CreateWorkspace(workspaceName, sourceControl.AuthenticatedUser, "Temporary Workspace");
try
{
workspace.Map(projectPath, workingDirectory);
GetRequest request = new GetRequest(new ItemSpec(projectPath, RecursionType.Full), VersionSpec.Latest);
GetStatus status = workspace.Get(request, GetOptions.GetAll | GetOptions.Overwrite); // this line doesn't do anything - no failures or errors
}
finally
{
if (workspace != null)
{
workspace.Delete();
}
}
El enfoque está creando básicamente un espacio de trabajo temporal, utilizando el método Get()
para tomar todos los elementos de este proyecto y luego quitar el espacio de trabajo. ¿Es esta la forma correcta de hacer esto? Cualquier ejemplo sería útil.
Me disculpo por el retraso en la respuesta, ya que quedó atrapado en un tema diferente, pero cambiando el camino tampoco parecía funcionar. Intenté conectar todos los eventos y ninguno de ellos disparó. Terminé usando una estrategia completamente diferente (item.DownloadFile) y de esa manera parecía funcionar bien, y no se necesitaban espacios de trabajo. –
@JohnRasch, ¿podría compartir el fragmento de código ya que tengo el mismo problema? :( – UserAR