none
[TFS2010] Ajouter une arborescence de repertoire automatiquement dans un nouveau projet via SDK RRS feed

  • Question

  • Bonjour,

    Je cherche a faire lors de la creation d4un nouveau projet base sur un template personnalise de creer une arborescende de repertoires contenu dans un fichier xml.

    Je bloque en ce moment sur checkIn

    Voila ce que je fais :

    initialisation du serveur avec mapping sur un dossier local et dossier projet sur le serveur

    lecture du fichier xml contenant l arborescence

    Creation du repertoire en local et sur le serveur avec

    fooString =

    Array.Find<WorkingFolder>(workspace.Folders, m => m.ServerItem.Contains("$/XXX_DEV"

    ));

    Directory

     

    .CreateDirectory(ElementPath);

     

    Directory

    .CreateDirectory(fooString.ServerItem + ElementTfsPath);

    A la fin je veux recuperer mes changement et les checkiner

     PendingChange[] PendingChanges = workspace.GetPendingChanges();
    
    
    
       // Checkin the items we added
    
       int changesetForAdd = workspace.CheckIn(PendingChanges, "Project creation.");
    
    

    Mais cela ne marche pas j ai le message suivant :

    The array must contain at least one element.
    Parameter name: checkinParameters.PendingChanges

    Avez vous une idee ?

    Merci d avance


    tazamorte
    mardi 29 mars 2011 14:47

Réponses

  • Bonjour tazamorte,

    Vous ne procédez pas de la bonne manière.

    Vous devez d'abord créer un dossier dans le workspace localement. Ensuite vous devez informer le serveur de l'ajout de ce répertoire avec la methode PendAdd. Ensuite vous pouvez publier.

    Essayez ceci =>

    Workspace wsp = vcs.GetWorkspace("NomWorkspace", "User");
    
    DirectoryInfo di = Directory.CreateDirectory(@"CheminLocalDansLeWorkspace");
    
     if (di != null && di.Exists)
    
     {
    
      wsp.PendAdd(di.FullName);
    
      PendingChange[] changes = wsp.GetPendingChanges();
    
    
    
      wsp.CheckIn(changes, "Mon Commentaire");
    
      }
    
    

    "CheminLocalDansLeWorkspace" corresponds au repertoire local que vous souhaitez ajouter dans le SC.

     En esperant avoir pu vous aider.

     


    Gregory OTT => http://twitter.com/gregory_ott
    ALM Engineer at Tekigo
    jeudi 31 mars 2011 08:43

Toutes les réponses