Problème avec Team Foundation Server

Signaler
-
Bonjour,
J'aimerai que vous m'aidiez, j'ai un outil qui permet de créer un ou plusieurs fichiers. Et le problème que je rencontre est lorsque je crée le ou les fichiers ne sont pas ajoutés au tfs. J'ai trouvé ce code que j'ai essayé de comprendre et tester, mais je n'arrive pas à trouver la ou il faut que j'utilise la listes des fichiers créés afin d'ajouter ses fichiers au tfs. J'aimerai que vous m'aidiez à rectifier ce problème.
Merci d'avance pour votre aide et le temps que vous y consacrerez


using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public class static Exemple
{
public void UploadFolderContent(string localFolder, string serverPath, string serverCollection, bool cleanLocalAfterProcess, List<string> filesToAdd)
{
Workspace workspace = null;
try
{
//Récupération de la référence pour notre serveur TFS
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(serverCollection));

//Récupération de la référence au contrôleur de code source TFS
VersionControlServer versionControl = tpc.GetService<VersionControlServer>();

//Abonnement aux événements du contrôleur de code source TFS
versionControl.NonFatalError += Example.OnNonFatalError;
versionControl.Getting += Example.OnGetting;
versionControl.BeforeCheckinPendingChange += Example.OnBeforeCheckinPendingChange;
versionControl.NewPendingChange += Example.OnNewPendingChange;

//Récupération des espaces de travail pour l'utilisateur courant et sa machine
var res = versionControl.QueryWorkspaces("TmpWorkspace", versionControl.AuthorizedUser, System.Environment.MachineName);

if (res != null && res.Length > 0)
workspace = res[0];

//Récupération de l'espace de travail TFS en local
GetStatus statusGet = workspace.Get();
//Ajout des fichiers locaux aux modifications en attente TFS
workspace.PendAdd(localFolder, true);

//récupération des modifications en attente pour le workspace TFS
var pcs = workspace.GetPendingChanges();

//Récuperation des conflits pour l'espace de travail TFS
Conflict[] conflicts = workspace.QueryConflicts(new string[] { serverPath }, true);

if (conflicts != null)
{
foreach (Conflict conflict in conflicts)
workspace.ResolveConflict(conflict);
}

conflicts = workspace.QueryConflicts(new string[] { serverPath }, true);

//Si il y a toujours des conflits une exception est levée
if (conflicts != null && conflicts.Length > 0)
throw new Exception("Try to resolve conflict manually");


//archive des nouveaux fichiers
workspace.CheckIn(pcs, "Add new items to TFS source control automatically");

//Nétoyage du répertoire local
if (cleanLocalAfterProcess)
{
//Nétoyage du répertoire local
//Directory.GetFiles(localFolder).ToList().ForEach(File.Delete);
//Directory.GetDirectories(localFolder).ToList().ForEach(Directory.Delete);
}

}
catch (Exception ex)
{
MessageBox.Show("Error !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if (workspace != null)
workspace.Delete();
}

}

internal static void OnNonFatalError(Object sender, ExceptionEventArgs e)
{
if (e.Exception != null)
{
Console.Error.WriteLine(" Non-fatal exception: " + e.Exception.Message);
}
else
{
Console.Error.WriteLine(" Non-fatal failure: " + e.Failure.Message);
}
}

internal static void OnGetting(Object sender, GettingEventArgs e)
{
Console.WriteLine(" Getting: " + e.TargetLocalItem + ", status: " + e.Status);
}

internal static void OnBeforeCheckinPendingChange(Object sender, ProcessingChangeEventArgs e)
{
Console.WriteLine(" Checking in " + e.PendingChange.LocalItem);
}

internal static void OnNewPendingChange(Object sender, PendingChangeEventArgs e)
{
Console.WriteLine(" Pending " + PendingChange.GetLocalizedStringForChangeType(e.PendingChange.ChangeType) +
" on " + e.PendingChange.LocalItem);
}
}
}