5 votes

Comment puis-je rechercher de manière programmée des informations sur le code modifié pour des fichiers individuels dans un ensemble de modifications dans TFS 2010?

Je dois pouvoir rechercher de manière programmatique des informations sur le code de transformation (lignes ajoutées, modifiées, supprimées) pour des fichiers individuels dans un ensemble de modifications dans TFS 2010. Le programme dans lequel j'ai besoin de le faire est une application client de bureau.

Quelqu'un sait comment faire ça? Avez-vous un code d'exemple que vous aimeriez partager?

8voto

NgM Points 2956

Voici un point de départ:

        TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("http://WhateverServerUrl");
        IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer));
        VersionControlServer VsServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
        IBuildDetail build = buildServer.GetAllBuildDetails(new Uri("http://WhateverBuildUrl"));

        List associatedChangesets = InformationNodeConverters.GetAssociatedChangesets(build);

        foreach (IChangesetSummary changeSetData in associatedChangesets)
        {
            Changeset changeSet = VsServer.GetChangeset(changeSetData.ChangesetId);
            foreach (Change change in changeSet.Changes)
            {
                bool a = change.Item.IsContentDestroyed;
                long b = change.Item.ContentLength;
            }
        } 

Changeset a le suivant:

    public Change[] Changes { get; set; }
    public int ChangesetId { get; set; }
    public CheckinNote CheckinNote { get; set; }
    public string Comment { get; set; }
    public string Committer { get; set; }
    public DateTime CreationDate { get; set; }
    public string Owner { get; set; }

Change a le suivant:

    public ChangeType ChangeType { get; }
    public Item Item { get; }
    public ReadOnlyCollection MergeSources { get; }

Item a le suivant:

    public Uri ArtifactUri { get; }
    public Uri ArtifactUriLatestItemVersion { get; }
    public int ChangesetId { get; }
    public DateTime CheckinDate { get; }
    public static IComparer Comparer { get; }
    public long ContentLength { get; }
    public int DeletionId { get; }
    public int Encoding { get; }
    public byte[] HashValue { get; }
    public bool IsBranch { get; }
    public bool IsContentDestroyed { get; }
    public int ItemId { get; }
    public Stream DownloadFile();
    public void DownloadFile(string localFileName);

0voto

user793390 Points 46

Si vous êtes prêt à utiliser le Cube, vous pouvez l'utiliser pour obtenir votre taux de couverture de code. http://blogs.msdn.com/b/jampick/archive/2010/07/06/tfs-2010-code-churn-report-getting-additional-detail.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X